FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vl_api_ipip_add_tunnel_t |
Create an IP{v4,v6} over IP{v4,v6} tunnel. More... | |
struct | vl_api_ipip_add_tunnel_reply_t |
struct | vl_api_ipip_del_tunnel_t |
Delete an IP{v4,v6} over IP{v4,v6} tunnel. More... | |
struct | vl_api_ipip_6rd_add_tunnel_t |
Create an IPv4 over IPv6 automatic tunnel (6RD) More... | |
struct | vl_api_ipip_6rd_add_tunnel_reply_t |
struct | vl_api_ipip_6rd_del_tunnel_t |
Delete an IPv4 over IPv6 automatic tunnel (6RD) More... | |
struct | vl_api_ipip_tunnel_dump_t |
List all IPIP tunnels. More... | |
struct | vl_api_ipip_tunnel_details_t |
Variables | |
option | version = "2.0.2" |
The IPIP module implements IP{v4,v6} over IP{v4,v6} tunnelling as described in RFC2473 and to some extent the largely historical RFC1853. More... | |
import vnet interface_types | api |
typedef | ipip_tunnel |
An IP{v4,v6} over IP{v4,v6} tunnel. More... | |
vl_api_address_t | src |
vl_api_address_t | dst |
vl_api_interface_index_t | sw_if_index |
u32 | table_id |
vl_api_tunnel_encap_decap_flags_t | flags |
vl_api_tunnel_mode_t | mode |
vl_api_ip_dscp_t | dscp |
typedef ipip_tunnel |
option version = "2.0.2" |
The IPIP module implements IP{v4,v6} over IP{v4,v6} tunnelling as described in RFC2473 and to some extent the largely historical RFC1853.
The module also supports an IPv4 over IPv6 automatic tunnelling mechanism called 6RD (RFC5969).
The IPIP API module supports a CRD model for adding, deleting and listing tunnels. A tunnel is represented as an interface in VPP. The "handle" representing a tunnel is the sw_if_index. As any interface, the user must configure an IPv4 and/or IPv6 address on the interface. This is the inner or payload protocol.
Tunnel MTU: The tunnel MTU (the payload MTU) is configurable per protocol. If a tunnel MTU is larger than the path MTU, the outer packet will be fragmented. Fragmentation support is configurable, as it can have severe performance issues, and might be used as an attack vector (the remote side must reassemble.)
Traffic class / TOS field can either be configured to a fixed value, or can be copied from the inner to the outer header. (For now we have stolen ~0 to indicate copy).
Note: