Before Fluorine, openflowplugin nicira extension supported an unofficial NSH implementation based on an out-of-branch patch on top of OVS 2.5/2.6. Since OVS 2.9, official equivalent nsh support is available but it is incompatible with the previous implementation. As per mail thread [1], it has been decided to drop support of this previous implementation during Fluorine.
- Downstreamers using NSH via integration with the patched OVS 2.5/2.6 will need to migrate to OVS 2.9 since Fluorine.
- There are some changes required on how the new NSH implementation is used by openflowplugin northbound applications, some of which are API breaking changes. These are being tracked on SFC spec [2] for now, but here is a summary:
- All NSH fields now have the prerequisite of verifying the packet is
a NSH packet. This is achieved either by matching ether_type=0x894f
if the outermost header is Ethernet or by matching
packet_type=(1,0x894f) if the outermost header is NSH. - [API] push_nsh and pop_nsh actions are not available. Instead, encap(nsh)
is used to add a NSH header to a packet followed by encap(ethernet)
to add an Ethernet header on top of the nsh header. decap() can be
used twice to remove both the Ethernet and NSH headers. - [API] tun_gpe_np field is not available. The corresponding header field
is internally managed by OVS. - [API] encap_eth_type, encap_eth_src and encap_eth_dst fields are no longer
available. Standard Ethernet fields will have to be used instead,
which will apply to the outermost Ethernet header of the packet. - [API] nsh_mdtype and nsh_np fields are read only and can no longer be used as destination in reg_load and reg_move actions. nsh_mdtype can be set as
an argument to the encap NSH action and defaults to 1. nsh_np is set
internally by OVS.
- All NSH fields now have the prerequisite of verifying the packet is
[1] https://lists.opendaylight.org/pipermail/openflowplugin-dev/2018-May/008338.html
[2] https://git.opendaylight.org/gerrit/#/c/72078/
- relates to
-
OPNFLWPLUG-1017 Add support for official OVS 2.8/2.9 NSH implementation
- Verified