You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Model OpenFlow Device (nml:Node) or Network (nml:Topology)
A clean-slate device or network with openflow capability use nml:hasService to point to a OpenflowService which is of mrs:OpenflowService type. This instance will include the ports / bidirectionalPorts that operate in openflow mode.
OpenflowService provides one or more FlowTable instances.
FlowTable provides Flows to indicate dynamically instantiated services. In clean-state status, FlowTable provides none.
Model OpenFlow Device (nml:Node) or Network (nml:Topology)
A clean-slate device or network with openflow capability use nml:hasService to point to a OpenflowService which is of mrs:OpenflowService type. This instance will include the ports / bidirectionalPorts that operate in openflow mode.
OpenflowService provides one or more FlowTable instances.
FlowTable provides Flows to indicate dynamically instantiated services. In clean-state status, FlowTable provides none.
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001>
a nml:Node , owl:NamedIndividual ;
nml:hasBidirectionalPort <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:port-s1-eth2> , <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:port-s1-eth1> ; nml:hasService <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service>.
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service>
a mrs:OpenflowService , owl:NamedIndividual ;
nml:hasBidirectionalPort <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:port-s1-eth2> , <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:port-s1-eth1> ;
mrs:providesFlowTable <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1> .
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1>
a mrs:FlowTable , owl:NamedIndividual .
Model Dynamic Flows
When a Flow is instantiated in a FlowTable. It should be modeled as follows.
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1>
a mrs:FlowTable , owl:NamedIndividual ;
mrs:providesFlow
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345> ,
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-67890> .
Each flow is modeled with match rules and action rules, both through FlowRule resources.
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345>
a mrs:Flow, owl:NamedIndividual ;
mrs:flowMatch <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-0> ;
mrs:flowMatch <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-1> ;
mrs:flowMatch <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-2> ;
mrs:flowMatch <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-3> ;
mrs:flowMatch <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-4> ;
mrs:flowAction <urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-action-0>
Each match rule is a type-value pair to match against one flow label. There are normally multiple rules.
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-0>
a mrs:FlowRule, owl:NamedIndividual ;
mrs:type "IN_PORT" ;
mrs:value "1" .
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-1>
a mrs:FlowRule, owl:NamedIndividual ;
mrs:type "ETH_SRC_MAC" ;
mrs:value "00:00:00:00:00:13" .
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-2>
a mrs:FlowRule, owl:NamedIndividual ;
mrs:type "ETH_DST_MAC" ;
mrs:value "00:00:00:00:00:01" .
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-3>
a mrs:FlowRule, owl:NamedIndividual ;
mrs:type "ETH_SRC_VLAN" ;
mrs:value "100" .
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-match-4>
a mrs:FlowRule, owl:NamedIndividual ;
mrs:type "ETH_DST_VLAN" ;
mrs:value "101" .
Each action rule is also a type-value pair to indicate a treatment action. There could be one or more action rules.
<urn:ogf:network:onos.maxgigapop.net:network:of:0000000000000001:openflow-service:flow-table-1:flow-12345:rule-action-0>
a mrs:FlowRule, owl:NamedIndividual ;
mrs:type "OUT_PORT" ;
mrs:value "2" .
References
Schema / Ontology definition is here:
https://github.com/MAX-UMD/nml-mrs-model/blob/master/schema/rdf-owl/nml-mrs-ext-v2.owl
The modified MRS Java base with Openflow resource and property types is here:
https://github.com/MAX-UMD/VersaStack/blob/CoWork-ONOS-xyang/VersaStack-ejb/src/main/java/net/maxgigapop/mrs/common/Mrs.java
The text was updated successfully, but these errors were encountered: