FD.io VPP  v19.04-6-g6f05f72
Vector Packet Processing
ipip.api File Reference

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 = "1.1.0"
 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
 

Variable Documentation

import vnet interface_types api

Definition at line 52 of file ipip.api.

option version = "1.1.0"

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:

  • The Tunnel encapsulation limit described in RFC2473 is not implemented.
  • ICMP proxying, as in a tunnel head-end receiving ICMP erors on the outer packet is currently not relayed to the original source of the packet.
  • PMTUD / MTU probing and tunnel keepalives are not yet implemented.

Definition at line 51 of file ipip.api.