Match standard head in UDf mode



Prior to this, UDF match format can not mix with other OXM(OpenFlow Extensible Match) except for in_port in a flow. Now we remove the restriction from version 3.2. In UDF mode, we can use both UDF format and other standard header fields which are defined by OpenFlow as matching fields in the same flow.All the standard match fields in flows can be used with udf fields except for "ipv6_src, ipv6_dst, ipv6_label, mpls_label, mpls_label2, arp_op, arp_tpa, arp_spa, vn_tag, ingress_lag, tcp_flags, inner_vlan_vid and inner_vlan_pcp".

Note

  • UDF match can only be used in Table 250 for flows.
  • UDF flows have conflict witch arp and mpls flows which can not appear in hardware together
  • Flows mixing standard match fields with UDF format have no influence on the capacity of UDF flows.
  • UDF flows have the higher priority than normal flows because the group priority of UDF flows' is 1 while normal flow’s is 0.
  • In match mode, we add a new match mode “udf_ext_ipv4” to distinguish it from the old “udf” match mode. The available standard match fields for “udf_ext_ipv4” mode are the same to the normal UDF mode.
  • All platforms except for TD(trident) support mixed UDF with more standard match fields in the same flow.

Non-match-mode 

enable udf mode

ovs-vsctl set-udf-mode "udf0(l2,offset=12,length=4)"

add flow 

ovs-ofctl add-flow br0 table=250,in_port=1,dl_dst=00:11:11:11:11:11,dl_src=00:22:22:22:22:22,dl_vlan=100,udf0=0x81000064,actions=2

Match-mode 

In match mode,you must use "udf_ext_ipv4" group if you want to use udf and standard fields at  the same time.And "udf_ext_ipv4" group also works well with other  match mode groups.

set match mode and enable udf mode


ovs-vsctl set-match-mode udf_ext_ipv4=2000-3000
ovs-vsctl set-udf-mode "udf0(l2,offset=12,length=4)"


add flow

ovs-ofctl add-flow br0 table=250,in_port=1,priority=2000,dl_dst=00:11:11:11:11:11,dl_src=00:22:22:22:22:22,udf0=0x81000064,actions=2

Copyright © 2024 Pica8 Inc. All Rights Reserved.