X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Ftap%2Ftapv2.api;h=fb90483efbebb462a2e1e5315481f5d8bb10f1c7;hp=03788607fe517f9661be25f8cdcf89bffc93d7e7;hb=754f24b;hpb=c99b4cd1c3aae9ca3bda0595a5cce4ea5e6ba84f diff --git a/src/vnet/devices/tap/tapv2.api b/src/vnet/devices/tap/tapv2.api index 03788607fe5..fb90483efbe 100644 --- a/src/vnet/devices/tap/tapv2.api +++ b/src/vnet/devices/tap/tapv2.api @@ -19,16 +19,20 @@ the Linux kernel TAP device driver */ -vl_api_version 1.0.0 +option version = "2.0.0"; /** \brief Initialize a new tap interface with the given paramters @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request + @param id - interface id, 0xffffffff means auto @param use_random_mac - let the system generate a unique mac address - @param tap_name - name to associate with the new interface @param mac_address - mac addr to assign to the interface if use_radom not set @param tx_ring_sz - the number of entries of TX ring @param rx_ring_sz - the number of entries of RX ring + @param host_mac_addr_set - host side interface mac address should be set + @param host_mac_addr - host side interface mac address + @param host_if_name_set - host side interface name should be set + @param host_if_name - host side interface name @param host_namespace_set - host namespece should be set @param host_namespace - host namespace to attach interface to @param host_bridge_set - host bridge should be set @@ -39,18 +43,27 @@ vl_api_version 1.0.0 @param host_ip6_addr_set - host IPv6 ip address should be set @param host_ip6_addr - host IPv6 ip address @param host_ip6_prefix_len - host IPv6 ip address prefix length + @param host_ip4_gw_set - host IPv4 default gateway should be set + @param host_ip4_gw - host IPv4 default gateway + @param host_ip6_gw_set - host IPv6 default gateway should be set + @param host_ip6_gw - host IPv6 default gateway + @param tap_flags - flags for the TAP interface creation */ define tap_create_v2 { u32 client_index; u32 context; + u32 id; u8 use_random_mac; - u8 tap_name[64]; u8 mac_address[6]; u16 tx_ring_sz; /* optional, default is 256 entries, must be power of 2 */ u16 rx_ring_sz; /* optional, default is 256 entries, must be power of 2 */ u8 host_namespace_set; u8 host_namespace[64]; + u8 host_mac_addr_set; + u8 host_mac_addr[6]; + u8 host_if_name_set; + u8 host_if_name[64]; u8 host_bridge_set; u8 host_bridge[64]; u8 host_ip4_addr_set; @@ -59,6 +72,12 @@ define tap_create_v2 u8 host_ip6_addr_set; u8 host_ip6_addr[16]; u8 host_ip6_prefix_len; + u8 host_ip4_gw_set; + u8 host_ip4_gw[4]; + u8 host_ip6_gw_set; + u8 host_ip6_gw[16]; + u8 tag[64]; + u32 tap_flags; }; /** \brief Reply for tap create reply @@ -94,13 +113,36 @@ define sw_interface_tap_v2_dump /** \brief Reply for tap dump request @param sw_if_index - software index of tap interface + @param id - interface id @param dev_name - Linux tap device name + @param tx_ring_sz - the number of entries of TX ring + @param rx_ring_sz - the number of entries of RX ring + @param host_mac_addr - mac address assigned to the host side of the interface + @param host_if_name - host side interface name + @param host_namespace - host namespace the interface is attached into + @param host_bridge - host bridge the interface is attached into + @param host_ip4_addr - host IPv4 ip address + @param host_ip4_prefix_len - host IPv4 ip address prefix length; 0 if unset + @param host_ip6_addr - host IPv6 ip address + @param host_ip6_prefix_len - host IPv6 ip address prefix length; 0 if unset */ define sw_interface_tap_v2_details { u32 context; u32 sw_if_index; + u32 id; u8 dev_name[64]; + u16 tx_ring_sz; + u16 rx_ring_sz; + u8 host_mac_addr[6]; + u8 host_if_name[64]; + u8 host_namespace[64]; + u8 host_bridge[64]; + u8 host_ip4_addr[4]; + u8 host_ip4_prefix_len; + u8 host_ip6_addr[16]; + u8 host_ip6_prefix_len; + u32 tap_flags; }; /*