nmeta2 module¶
This is the main module of the nmeta2 suite running on top of the Ryu SDN controller to provide network identity and flow (traffic classification) metadata. . It supports OpenFlow v1.3 switches and Data Path Auxiliary Engines (DPAE) . Do not use this code for production deployments - it is proof of concept code and carries no warrantee whatsoever. . You have been warned.
-
class
nmeta2.
Nmeta
(*args, **kwargs)¶ Bases:
ryu.base.app_manager.RyuApp
This is the main class of nmeta2 and is run by Ryu
-
OFP_VERSIONS
= [4]¶
-
desc_stats_reply_handler
(ev)¶ Receive a reply from a switch to a description statistics request
-
dpae_join
(pkt, datapath, in_port)¶ A DPAE may have sent us a join discovery packet (Phase 2) Check the packet payload to see if it is valid
-
error_msg_handler
(ev)¶ A switch has sent us an error event
-
flow_removed_handler
(ev)¶ A switch has sent an event to us because it has removed a flow from a flow table
-
switch_connection_handler
(ev)¶ A switch has connected to the SDN controller. We need to do some tasks to set the switch up properly:
- Instantiate a class to represent the switch and flow tables
- Delete all existing flow entries
- Set config for fragment handling and table miss packet length
- Set up initial flow entries in flow tables
- Install non-DPAE TC flows from optimised policy to switch
- Request the switch send us its description
Supported OpenFlow versions is controlled by the OFP_VERSIONS constant set in class base.
-
tc_advice_id
(dpid, tc_type, tc_subtype, src_mac, detail1)¶ Process a Traffic Classification advice message from a DPAE that relates to an identity
-
tc_start
(datapath, dpae_port)¶ Add a Flow Entry to switch to clone selected packets to a DPAE so that it can perform Traffic Classification analysis on them
-