X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Fopendaylight-match-types.yang;h=efe1ce3e3aaebad8d2b2a0a866d5d12392238a7c;hp=31736d2737dbcd7358ef264587de0910153afb63;hb=2c4a9be1a89caa93f4f2697401771dcb0fa67c5a;hpb=1b5c570dca4f7d273d08f109cdff8f731eac43c4 diff --git a/opendaylight/md-sal/model/model-flow-base/src/main/yang/opendaylight-match-types.yang b/opendaylight/md-sal/model/model-flow-base/src/main/yang/opendaylight-match-types.yang index 31736d2737..efe1ce3e3a 100644 --- a/opendaylight/md-sal/model/model-flow-base/src/main/yang/opendaylight-match-types.yang +++ b/opendaylight/md-sal/model/model-flow-base/src/main/yang/opendaylight-match-types.yang @@ -8,26 +8,26 @@ module opendaylight-match-types { import opendaylight-inventory {prefix inv;revision-date "2013-08-19";} revision "2013-10-26" { - description "Initial revision of macth types"; + description "Initial revision of match types"; } - + grouping "mac-address-filter" { leaf address { mandatory true; type yang:mac-address; } leaf mask { - type binary; + type yang:mac-address; } } - + grouping "of-metadata" { leaf metadata { type uint64; } - + leaf metadata-mask { - type binary; + type uint64; } } @@ -46,15 +46,11 @@ module opendaylight-match-types { container ethernet-type { description "Ethernet frame type."; presence "Match field is active and set"; - + leaf type { mandatory true; type l2t:ether-type; // Needs to define that as general model } - - leaf mask { - type binary; - } } } @@ -66,9 +62,9 @@ module opendaylight-match-types { leaf vlan-id-present { type boolean; } - + leaf vlan-id { - type l2t:vlan-id; + type l2t:vlan-id; } } leaf vlan-pcp { @@ -80,82 +76,84 @@ module opendaylight-match-types { grouping "ip-match-fields" { leaf ip-protocol { description "IP protocol."; - type uint8; + type uint8; } leaf ip-dscp { description "IP DSCP (6 bits in ToS field)."; - type inet:dscp; + type inet:dscp; } - + leaf ip-ecn { description "IP ECN (2 bits in ToS field)."; - type uint8; + type uint8; } - - leaf ip-proto { - description "IP Proto (IPv4 or IPv6 Protocol Number)."; - type inet:ip-version; + + leaf ip-proto { + description "IP Proto (IPv4 or IPv6 Protocol Number)."; + type inet:ip-version; } - } - + } + grouping "ipv4-match-fields" { leaf ipv4-source { description "IPv4 source address."; type inet:ipv4-prefix; } - + leaf ipv4-destination { description "IPv4 destination address."; type inet:ipv4-prefix; } - + } - + grouping "ipv6-match-fields" { leaf ipv6-source { description "IPv6 source address."; type inet:ipv6-prefix; } - + leaf ipv6-destination { description "IPv6 destination address."; type inet:ipv6-prefix; } - + leaf ipv6-nd-target { description "IPv6 target address for neighbour discovery message"; type inet:ipv6-address; } - + container "ipv6-label" { leaf ipv6-flabel { type inet:ipv6-flow-label; } - + leaf flabel-mask { - type binary; + type inet:ipv6-flow-label; } } - + leaf ipv6-nd-sll { description "Link layer source address for neighbour discovery message"; type yang:mac-address; } - + leaf ipv6-nd-tll { description "Link layer target address for neighbour discovery message"; type yang:mac-address; } - - container "ipv6-ext-header" { + + container "ipv6-ext-header" { leaf ipv6-exthdr { description "IPv6 Extension Header field"; type uint16; } leaf ipv6-exthdr-mask { - type binary; + type uint16 { + range "0..512"; + } } } } @@ -176,29 +174,31 @@ module opendaylight-match-types { description "Label in the first MPLS shim header"; type uint32; } - + leaf mpls-tc { description "TC in the first MPLS shim header"; type uint8; } - + leaf mpls-bos { description "BoS bit in the first MPLS shim header"; type uint8; } - + container "pbb" { leaf pbb-isid { description "I-SID in the first PBB service instance tag"; type uint32; - } + } leaf pbb-mask { - type binary; + type uint32 { + range "0..16777216"; + } } } } - + grouping "tcp-match-fields" { leaf tcp-source-port { description "TCP source port."; @@ -231,7 +231,7 @@ module opendaylight-match-types { type uint8; // Define ICMP Code } } - + grouping "icmpv6-match-fields" { leaf icmpv6-type { description "ICMP type."; @@ -247,12 +247,12 @@ module opendaylight-match-types { leaf arp-op { type uint16; } - + leaf arp-source-transport-address { description "ARP source IPv4 address."; type inet:ipv4-prefix; } - + leaf arp-target-transport-address { description "ARP target IPv4 address."; type inet:ipv4-prefix; @@ -268,43 +268,49 @@ module opendaylight-match-types { uses mac-address-filter; } } - + + grouping "tcp-flag-match-fields" { + leaf tcp-flag { + type uint16; + } + } + grouping match { leaf in-port { type inv:node-connector-id; } - + leaf in-phy-port { type inv:node-connector-id; } - + container "metadata" { uses of-metadata; } - + container "tunnel" { leaf tunnel-id { description "Metadata associated in the logical port"; type uint64; } - + leaf tunnel-mask { - type binary; + type uint64; } } - + container "ethernet-match" { uses "ethernet-match-fields"; } - + container "vlan-match" { uses "vlan-match-fields"; } - + container "ip-match" { uses "ip-match-fields"; } - + choice layer-3-match { case "ipv4-match" { uses "ipv4-match-fields"; @@ -316,7 +322,7 @@ module opendaylight-match-types { uses "arp-match-fields"; } } - + choice layer-4-match { case "udp-match" { uses "udp-match-fields"; @@ -328,17 +334,21 @@ module opendaylight-match-types { uses "sctp-match-fields"; } } - + container "icmpv4-match" { uses "icmpv4-match-fields"; } - + container "icmpv6-match" { uses "icmpv6-match-fields"; } - + container "protocol-match-fields" { uses "protocol-match-fields"; } + + container tcp-flag-match { + uses "tcp-flag-match-fields"; + } } } \ No newline at end of file