Tunnel Encapsulations
OVN annotates logical network packets that it sends from one
hypervisor to another with the following three pieces of
metadata, which are encoded in an encapsulation-specific fashion:
• 24-bit logical datapath identifier, from the
tunnel_key
column in the OVN Southbound
Datapath_Binding
table.
• 15-bit logical ingress port identifier. ID 0 is
reserved for internal use within OVN. IDs 1 through
32767, inclusive, may be assigned to logical ports
(see the tunnel_key
column in the OVN Southbound
Port_Binding
table).
• 16-bit logical egress port identifier. IDs 0
through 32767 have the same meaning as for logical
ingress ports. IDs 32768 through 65535, inclusive,
may be assigned to logical multicast groups (see
the tunnel_key
column in the OVN Southbound
Multicast_Group
table).
For hypervisor-to-hypervisor traffic, OVN supports only Geneve
and STT encapsulations, for the following reasons:
• Only STT and Geneve support the large amounts of
metadata (over 32 bits per packet) that OVN uses
(as described above).
• STT and Geneve use randomized UDP or TCP source
ports that allows efficient distribution among
multiple paths in environments that use ECMP in
their underlay.
• NICs are available to offload STT and Geneve
encapsulation and decapsulation.
Due to its flexibility, the preferred encapsulation between
hypervisors is Geneve. For Geneve encapsulation, OVN transmits
the logical datapath identifier in the Geneve VNI. OVN transmits
the logical ingress and logical egress ports in a TLV with class
0x0102, type 0x80, and a 32-bit value encoded as follows, from
MSB to LSB:
1 15 16
+---+------------+-----------+
|rsv|ingress port|egress port|
+---+------------+-----------+
0
Environments whose NICs lack Geneve offload may prefer STT
encapsulation for performance reasons. For STT encapsulation, OVN
encodes all three pieces of logical metadata in the STT 64-bit
tunnel ID as follows, from MSB to LSB:
9 15 16 24
+--------+------------+-----------+--------+
|reserved|ingress port|egress port|datapath|
+--------+------------+-----------+--------+
0
For connecting to gateways, in addition to Geneve and STT, OVN
supports VXLAN, because only VXLAN support is common on top-of-
rack (ToR) switches. Currently, gateways have a feature set that
matches the capabilities as defined by the VTEP schema, so fewer
bits of metadata are necessary. In the future, gateways that do
not support encapsulations with large amounts of metadata may
continue to have a reduced feature set.