mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
geneve: T1799: add Generic Network Virtualization Encapsulation
This commit is contained in:
parent
d57d6969f6
commit
d9c14434ab
52
docs/interfaces/geneve.rst
Normal file
52
docs/interfaces/geneve.rst
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
.. _geneve-interface:
|
||||||
|
|
||||||
|
######
|
||||||
|
GENEVE
|
||||||
|
######
|
||||||
|
|
||||||
|
:abbr:`GENEVE (Generic Network Virtualization Encapsulation)` supports all of
|
||||||
|
the capabilities of VXLAN, NVGRE, and STT and was designed to overcome their
|
||||||
|
perceived limitations. Many believe GENEVE could eventually replace these
|
||||||
|
earlier formats entirely.
|
||||||
|
|
||||||
|
GENEVE is designed to support network virtualization use cases, where tunnels
|
||||||
|
are typically established to act as a backplane between the virtual switches
|
||||||
|
residing in hypervisors, physical switches, or middleboxes or other appliances.
|
||||||
|
An arbitrary IP network can be used as an underlay although Clos networks - A
|
||||||
|
technique for composing network fabrics larger than a single switch while
|
||||||
|
maintaining non-blocking bandwidth across connection points. ECMP is used to
|
||||||
|
divide traffic across the multiple links and switches that constitute the
|
||||||
|
fabric. Sometimes termed "leaf and spine" or "fat tree" topologies.
|
||||||
|
|
||||||
|
Geneve Header:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
|Ver| Opt Len |O|C| Rsvd. | Protocol Type |
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| Virtual Network Identifier (VNI) | Reserved |
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| Variable Length Options |
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
|
||||||
|
.. cfcmd:: set interfaces geneve gnv0 address '192.0.2.2/24'
|
||||||
|
|
||||||
|
Create GENEVE tunnel listening on local address `192.0.2.2/24`.
|
||||||
|
|
||||||
|
.. cfcmd:: set interfaces geneve gnv0 remote '172.18.204.10'
|
||||||
|
|
||||||
|
Specify the IP address of the other end of the tunnel.
|
||||||
|
|
||||||
|
.. cfcmd:: set interfaces geneve gnv0 vni '1000'
|
||||||
|
|
||||||
|
:abbr:`VNI (Virtual Network Identifier)` is an identifier for a unique element
|
||||||
|
of a virtual network. In many situations this may represent an L2 segment,
|
||||||
|
however, the control plane defines the forwarding semantics of decapsulated
|
||||||
|
packets. The VNI MAY be used as part of ECMP forwarding decisions or MAY be
|
||||||
|
used as a mechanism to distinguish between overlapping address spaces contained
|
||||||
|
in the encapsulated packet when load balancing across CPUs.
|
||||||
|
|
||||||
|
.. cfcmd:: set interfaces geneve gnv0 mtu
|
||||||
|
|
||||||
|
Set interface :abbr:`MTU (Maximum Transfer Unit)` size.
|
||||||
@ -59,3 +59,4 @@ respective sections.
|
|||||||
vlan
|
vlan
|
||||||
qinq
|
qinq
|
||||||
vxlan
|
vxlan
|
||||||
|
geneve
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user