X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Ftap%2Ftap.h;h=46edf02b1e9034dc54ffdf87576beeaff9aa59e8;hb=5f8f6173328f8d77feea5fd100e150c3094c11f0;hp=7aebade59c7a97b39beeb4ac8f89930f440a3288;hpb=cbe8d65068c9c39ca6b1f7e116dac2744835f18c;p=vpp.git diff --git a/src/vnet/devices/tap/tap.h b/src/vnet/devices/tap/tap.h index 7aebade59c7..46edf02b1e9 100644 --- a/src/vnet/devices/tap/tap.h +++ b/src/vnet/devices/tap/tap.h @@ -27,8 +27,11 @@ typedef struct u32 id; u8 mac_addr_set; u8 mac_addr[6]; + u8 num_rx_queues; u16 rx_ring_sz; u16 tx_ring_sz; + u32 tap_flags; +#define TAP_FLAG_GSO (1 << 0) u8 *host_namespace; u8 *host_if_name; u8 host_mac_addr[6]; @@ -41,6 +44,8 @@ typedef struct u8 host_ip6_prefix_len; ip6_address_t host_ip6_gw; u8 host_ip6_gw_set; + u8 host_mtu_set; + u32 host_mtu_size; /* return */ u32 sw_if_index; int rv; @@ -52,6 +57,7 @@ typedef struct { u32 id; u32 sw_if_index; + u32 tap_flags; u8 dev_name[64]; u16 tx_ring_sz; u16 rx_ring_sz; @@ -63,6 +69,7 @@ typedef struct u8 host_ip4_prefix_len; u8 host_ip6_addr[16]; u8 host_ip6_prefix_len; + u32 host_mtu_size; } tap_interface_details_t; typedef struct @@ -72,10 +79,15 @@ typedef struct /* bit-map of in-use IDs */ uword *tap_ids; + + /* host mtu size, configurable through startup.conf */ + int host_mtu_size; } tap_main_t; void tap_create_if (vlib_main_t * vm, tap_create_if_args_t * args); int tap_delete_if (vlib_main_t * vm, u32 sw_if_index); +int tap_gso_enable_disable (vlib_main_t * vm, u32 sw_if_index, + int enable_disable); int tap_dump_ifs (tap_interface_details_t ** out_tapids); #endif /* _VNET_DEVICES_VIRTIO_TAP_H_ */