X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-api%2Fsrc%2Fmain%2Fyang%2Fopenflow-extensible-match.yang;h=ff3960aa3d0de39285527dc48e973c5433029465;hb=efb70c17fbd6a74a32f48ef0e4edc07378272d61;hp=cd91b1322f950a8f4306b481b349bd5a583ffad0;hpb=5c20b51f4fd5f510f9bf81442b79f5283bcb7879;p=openflowjava.git diff --git a/openflow-protocol-api/src/main/yang/openflow-extensible-match.yang b/openflow-protocol-api/src/main/yang/openflow-extensible-match.yang index cd91b132..ff3960aa 100644 --- a/openflow-protocol-api/src/main/yang/openflow-extensible-match.yang +++ b/openflow-protocol-api/src/main/yang/openflow-extensible-match.yang @@ -31,11 +31,11 @@ } identity nxm-0-class { - description "Backward compatibility with NXM"; + description "Match class for backward compatibility with NXM"; base clazz; } identity nxm-1-class { - description "Backward compatibility with NXM"; + description "Match class for backward compatibility with NXM"; base clazz; } identity openflow-basic-class { @@ -56,172 +56,184 @@ identity in_port { base match-field; - description "Match for Switch input port."; + description "OXM field for Switch input port."; } identity in_phy_port { base match-field; - description "Match for Switch physical input port."; + description "OXM field for Switch physical input port."; } identity metadata { base match-field; - description "Match for Metadata passed between tables."; + description "OXM field for Metadata passed between tables."; } identity eth_dst { base match-field; - description "Match for Ethernet destination address."; + description "OXM field for Ethernet destination address."; } identity eth_src { base match-field; - description "Match for Ethernet source address."; + description "OXM field for Ethernet source address."; } identity eth_type { base match-field; - description "Match for Ethernet frame type."; + description "OXM field for Ethernet frame type."; } identity vlan_vid { base match-field; - description "Match for VLAN id."; + description "OXM field for VLAN id."; } identity vlan_pcp { base match-field; - description "Match for VLAN priority."; + description "OXM field for VLAN priority."; } identity ip_dscp { base match-field; - description "Match for IP DSCP (6 bits in ToS field)."; + description "OXM field for IP DSCP (6 bits in ToS field)."; } identity ip_ecn { base match-field; - description "Match for IP ECN (2 bits in ToS field)."; + description "OXM field for IP ECN (2 bits in ToS field)."; } identity ip_proto { base match-field; - description "Match for IP protocol."; + description "OXM field for IP protocol."; } identity ipv4_src { base match-field; - description "Match for IPv4 source address."; + description "OXM field for IPv4 source address."; } identity ipv4_dst { base match-field; - description "Match for IPv4 destination address."; + description "OXM field for IPv4 destination address."; } identity tcp_src { base match-field; - description "Match for TCP source port."; + description "OXM field for TCP source port."; } identity tcp_dst { base match-field; - description "Match for TCP destination port."; + description "OXM field for TCP destination port."; } identity udp_src { base match-field; - description "Match for UDP source port."; + description "OXM field for UDP source port."; } identity udp_dst { base match-field; - description "Match for UDP destination port."; + description "OXM field for UDP destination port."; } identity sctp_src { base match-field; - description "Match for SCTP source port."; + description "OXM field for SCTP source port."; } identity sctp_dst { base match-field; - description "Match for SCTP destination port."; + description "OXM field for SCTP destination port."; } identity icmpv4_type { base match-field; - description "Match for ICMP type."; + description "OXM field for ICMP type."; } identity icmpv4_code { base match-field; - description "Match for ICMP code."; + description "OXM field for ICMP code."; } identity arp_op { base match-field; - description "Match for ARP opcode."; + description "OXM field for ARP opcode."; } identity arp_spa { base match-field; - description "Match for ARP source IPv4 address."; + description "OXM field for ARP source IPv4 address."; } identity arp_tpa { base match-field; - description "Match for ARP target IPv4 address."; + description "OXM field for ARP target IPv4 address."; } identity arp_sha { base match-field; - description "Match for ARP source hardware address."; + description "OXM field for ARP source hardware address."; } identity arp_tha { base match-field; - description "Match for ARP target hardware address."; + description "OXM field for ARP target hardware address."; } identity ipv6_src { base match-field; - description "Match for IPv6 source address."; + description "OXM field for IPv6 source address."; } identity ipv6_dst { base match-field; - description "Match for IPv6 destination address."; + description "OXM field for IPv6 destination address."; } identity ipv6_flabel { base match-field; - description "Match for IPv6 Flow Label"; + description "OXM field for IPv6 Flow Label"; } identity icmpv6_type { base match-field; - description "Match for ICMPv6 type."; + description "OXM field for ICMPv6 type."; } identity icmpv6_code { base match-field; - description "Match for ICMPv6 code."; + description "OXM field for ICMPv6 code."; } identity ipv6_nd_target { base match-field; - description "Match for Target address for ND."; + description "OXM field for Target address for ND."; } identity ipv6_nd_sll { base match-field; - description "Match for Source link-layer for ND."; + description "OXM field for Source link-layer for ND."; } identity ipv6_nd_tll { base match-field; - description "Match for Target link-layer for ND."; + description "OXM field for Target link-layer for ND."; } identity mpls_label { base match-field; - description "Match for MPLS label."; + description "OXM field for MPLS label."; } identity mpls_tc { base match-field; - description "Match for MPLS TC."; + description "OXM field for MPLS TC."; } identity mpls_bos { base match-field; - description "Match for MPLS BoS bit."; + description "OXM field for MPLS BoS bit."; } identity pbb_isid { base match-field; - description "Match for PBB I-SID."; + description "OXM field for PBB I-SID."; } identity tunnel_id { base match-field; - description "Match for Logical Port Metadata"; + description "OXM field for Logical Port Metadata"; } identity ipv6_exthdr { base match-field; - description "Match for IPv6 Extension Header pseudo-field"; + description "OXM field for IPv6 Extension Header pseudo-field"; + } + identity tcp_flag { + base match-field; + description "NXM field for NXM_NX_TCP_FLAGS"; + } + identity tunnel_ipv4_dst { + base match-field; + description "NXM field for NXM_NX_TUN_IPV4_DST"; + } + identity tunnel_ipv4_src { + base match-field; + description "NXM field for NXM_NX_TUN_IPV4_SRC"; } - container oxm-container { - uses oxm-fields; + uses oxm-fields-grouping; } - grouping oxm-fields { + grouping oxm-fields-grouping { list match-entries { - key "oxm-class oxm-match-field has-mask"; + description "OXM TLV-structures (Type Length Value)"; + config false; leaf oxm-class { type identityref { base clazz; @@ -237,53 +249,83 @@ } } } - + + grouping match-grouping { + container match { + description "Match structure (OF v1.3)"; + leaf type { + type identityref { + base oft:match-type-base; + } + } + uses oxm-fields-grouping; + } + } + // OF1.0 structures grouping match-v10-grouping { container match-v10 { + description "OF v1.0 match structure"; leaf wildcards { + description "Wildcard fields (only flags)."; type oft:flow-wildcards-v10; } leaf nw-src-mask { + description "IP source address mask (definition differs from OF v1.0.0 spec to ease + understanding, library does the transformation into OF v1.0 spec correct data)"; type uint8; } leaf nw-dst-mask { + description "IP destination address mask (definition differs from OF v1.0.0 spec to ease + understanding, library does the transformation into OF v1.0 spec correct data)"; type uint8; } leaf in-port { + description "Input switch port."; type uint16; } leaf dl-src { + description "Ethernet source address."; type yang:mac-address; } leaf dl-dst { + description "Ethernet destination address."; type yang:mac-address; } leaf dl-vlan { + description "Input VLAN id."; type uint16; } leaf dl-vlan-pcp { + description "Input VLAN priority."; type uint8; } leaf dl-type { + description "Ethernet frame type."; type uint16; } leaf nw-tos { + description "IP ToS (actually DSCP field, 6 bits)."; type uint8; } leaf nw-proto { + description "IP protocol or lower 8 bits of ARP opcode."; type uint8; } leaf nw-src { + description "IP source address."; type inet:ipv4-address; } leaf nw-dst { + description "IP destination address."; type inet:ipv4-address; } leaf tp-src { + description "TCP/UDP source port."; type uint16; } leaf tp-dst { + description "TCP/UDP destination port."; type uint16; } }