X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-api%2Fsrc%2Fmain%2Fyang%2Fopenflow-types.yang;fp=openflow-protocol-api%2Fsrc%2Fmain%2Fyang%2Fopenflow-types.yang;h=ebfa88d22b41ee33b037b17d79cc67b1958a63c8;hb=cd6e0a4084aebe05fa510d9f93def875c95ce609;hp=a2b11ddb6c05312198c11826782b870bf911ff72;hpb=03b554b297bf67704cff0db83ac3c1740c4c9423;p=openflowjava.git diff --git a/openflow-protocol-api/src/main/yang/openflow-types.yang b/openflow-protocol-api/src/main/yang/openflow-types.yang index a2b11ddb..ebfa88d2 100644 --- a/openflow-protocol-api/src/main/yang/openflow-types.yang +++ b/openflow-protocol-api/src/main/yang/openflow-types.yang @@ -8,51 +8,7 @@ module openflow-types { typedef port-number { type uint32 { - range "0..4294967040"; // 0xffffff00 See for actual value - } - } - - typedef special-port-number { - type enumeration { - enum in-port { - //value "4294967288"; - //description "Send the packet out the input port. This virtual port must be explicitly used in order to send back out of the input port." - } - enum table { - //value "4294967289"; // 0xfffffff9; - //description "Perform actions in flow table. NB: This can only be the destination port for packet-out messages." - } - enum normal { - //value "4294967290"; // 0xfffffffa; - //description "Process with normal L2/L3 switching." - } - enum flood { - //value "4294967291"; // 0xfffffffb; - //description "All physical ports except input port and those disabled by STP." - } - enum all { - //value "4294967292"; // 0xfffffffc; - //description "All physical ports except input port." - } - enum controller { - //value "4294967293"; // 0xfffffffd; - //description "Send to controller." - } - enum local { - //value "4294967294"; // 0xfffffffe; - //description "Local openflow port." - } - enum none { - //value "4294967295"; // 0xffffffff; - //description "not associated with a physical port." - } - } - } - - typedef any-port-number { - type union { - type port-number; - type special-port-number; + range "0..4294967040"; // 0xffffff00 See for actual value } } @@ -189,9 +145,6 @@ module openflow-types { type identityref { base oft:match-type-base; } - - //TODO: use identityref, when generating available - //type string; } identity instruction { @@ -200,7 +153,6 @@ module openflow-types { identity action { } - typedef metadata { type binary; } @@ -561,7 +513,7 @@ module openflow-types { } } - typedef queue-property { + typedef queue-properties { /* ofp_queue_properties */ type enumeration { enum OFPGT_ALL { @@ -622,6 +574,79 @@ module openflow-types { } } } + + typedef action-type { + /* ofp_action_type */ + type bits { + bit OFPAT_OUTPUT { + position 0; + /* Output to switch port. */ + } + bit OFPAT_COPY_TTL_OUT { + position 1; + /* Copy TTL "outwards" -- from next-to-outermost to outermost */ + } + bit OFPAT_COPY_TTL_IN { + position 2; + /* Copy TTL "inwards" -- from outermost to next-to-outermost */ + } + bit OFPAT_SET_MPLS_TTL { + position 3; + /* MPLS TTL */ + } + bit OFPAT_DEC_MPLS_TTL { + position 4; + /* Decrement MPLS TTL */ + } + bit OFPAT_PUSH_VLAN { + position 5; + /* Push a new VLAN tag */ + } + bit OFPAT_POP_VLAN { + position 6; + /* Pop the outer VLAN tag */ + } + bit OFPAT_PUSH_MPLS { + position 7; + /* Push a new MPLS tag */ + } + bit OFPAT_POP_MPLS { + position 8; + /* Pop the outer MPLS tag */ + } + bit OFPAT_SET_QUEUE { + position 9; + /* Set queue id when outputting to a port */ + } + bit OFPAT_GROUP { + position 10; + /* Apply group. */ + } + bit OFPAT_SET_NW_TTL { + position 11; + /* IP TTL. */ + } + bit OFPAT_DEC_NW_TTL { + position 12; + /* Decrement IP TTL. */ + } + bit OFPAT_SET_FIELD { + position 13; + /* Set a header field using OXM TLV format. */ + } + bit OFPAT_PUSH_PBB { + position 14; + /* Push a new PBB service tag (I-TAG) */ + } + bit OFPAT_POP_PBB { + position 15; + /* Pop the outer PBB service tag (I-TAG) */ + } + bit OFPAT_EXPERIMENTER { + position 16; + } + } + } typedef meter-mod-command { /* ofp_meter_mod_command */