{"id":19385899,"url":"https://github.com/mininet/openflow","last_synced_at":"2025-05-06T21:30:08.154Z","repository":{"id":31942512,"uuid":"35512182","full_name":"mininet/openflow","owner":"mininet","description":"Mirror of Stanford OpenFlow 1.0 reference switch/controller from git://openflowswitch.org/openflow.git","archived":false,"fork":false,"pushed_at":"2024-06-19T19:10:29.000Z","size":8722,"stargazers_count":136,"open_issues_count":3,"forks_count":61,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-31T03:11:15.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mininet.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-12T20:54:42.000Z","updated_at":"2025-03-25T08:02:46.000Z","dependencies_parsed_at":"2025-01-10T06:45:57.428Z","dependency_job_id":null,"html_url":"https://github.com/mininet/openflow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mininet%2Fopenflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mininet%2Fopenflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mininet%2Fopenflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mininet%2Fopenflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mininet","download_url":"https://codeload.github.com/mininet/openflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252771779,"owners_count":21801780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T10:03:35.498Z","updated_at":"2025-05-06T21:30:08.132Z","avatar_url":"https://github.com/mininet.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"        OpenFlow Reference Release \u003chttp://openflowswitch.org\u003e\n\nWhat is OpenFlow?\n-----------------\n\nOpenFlow is a flow-based switch specification designed to enable\nresearchers to run experiments in live networks.  OpenFlow is based on a\nsimple Ethernet flow switch that exposes a standardized interface for\nadding and removing flow entries.\n\nAn OpenFlow switch consists of three parts: (1) A \"flow table\" in\nwhich each flow entry is associated with an action telling the switch\nhow to process the flow, (2) a \"secure channel\" connecting the switch\nto a remote process (a controller), allowing commands and packets to\nbe sent between the controller and the switch, and (3) an OpenFlow\nprotocol implementation, providing an open and standard way for a\ncontroller to talk to the switch.\n\nAn OpenFlow switch can thus serve as a simple datapath element that\nforwards packets between ports according to flow actions defined by\nthe controller using OpenFlow commands.  Example actions are:\n\n    - Forward this flow's packets to the given port(s)\n    - Drop this flow's packets\n    - Encapsulate and forward this flow's packets to the controller.\n\nThe OpenFlow switch is defined in detail in the OpenFlow switch\nSpecification [2].\n\nWhat's here?\n------------\n\nThis distribution includes one reference implementations of an\nOpenFlow switch.  This implementation has the following components:\n\n        - ofdatapath, which implements the flow table in user space.\n\n        - ofprotocol, a program that implements the secure channel\n          component of the reference switch.\n\n        - dpctl, a tool for configuring the switch.\n\nThis distribution includes some additional software as well:\n\n        - controller, a simple program that connects to any number of\n          OpenFlow switches, commanding them to act as regular MAC\n          learning switches.\n\n        - vlogconf, a utility that can adjust the logging levels of a\n          running ofprotocol or controller.\n\n        - ofp-pki, a utility for creating and managing the public-key\n          infrastructure for OpenFlow switches.\n\n        - A patch to tcpdump that enables it to parse OpenFlow\n          messages.\n\n        - A regression suite that tests OpenFlow functionality, please\n          see regress/README. \n\n        - A Wireshark dissector that can decode the OpenFlow wire \n          protocol. Please see utilities/wireshark_dissectors/README.\n\nFor installation instructions, read INSTALL.  Each userspace program\nis also accompanied by a manpage.\n\nWhat's NOT here?\n----------------\n\nThe reference implementation no longer includes the Linux kernel module\nor the NetFPGA implementation. The OpenFlow consortium intends to\nrelease these separately from the reference design.\n\nPlatform support\n----------------\n\nOther than the userspace switch implementation, the software in the\nOpenFlow distribution should compile under Unix-like environments such\nas Linux, FreeBSD, Mac OS X, and Solaris.  Our primary test environment\nis Debian GNU/Linux.  Please contact us with portability-related bug\nreports or patches.\n\nThe userspace datapath implementation should be easy to port to\nUnix-like systems.  The interface to network devices, in netdev.c, is\nthe code most likely to need changes.  So far, only Linux is\nsupported.  We welcome ports to other platforms.\n\nGCC is the expected compiler.\n\nBugs/Shortcomings\n-----------------\n\n- The flow table does not support the \"normal processing\" action.\n\nReferences\n----------\n\n    [1] OpenFlow: Enabling Innovation in College Networks.  Whitepaper.\n        \u003chttp://openflowswitch.org/documents/openflow-wp-latest.pdf\u003e\n\n    [2] OpenFlow Switch Specification.\n        \u003chttp://openflowswitch.org/documents/openflow-spec-latest.pdf\u003e\n\nContact \n-------\n\nPublic discussion list: openflow-discuss@openflowswitch.org\nDirect e-mail:          info@openflowswitch.org\n\nWeb:                    http://openflowswitch.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmininet%2Fopenflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmininet%2Fopenflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmininet%2Fopenflow/lists"}