X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Faf_packet%2Faf_packet.h;h=b4621f6f6d41c6a0ec1385c23e6cd0199e668d21;hb=e9cebdf4c12adf7962ab2a2053789c93d70c33d3;hp=e00e5cb415f10bd6440bada77256816ebd17a591;hpb=cf751ec70df21affb19c77b2c51e3c231b8202ad;p=vpp.git diff --git a/src/vnet/devices/af_packet/af_packet.h b/src/vnet/devices/af_packet/af_packet.h index e00e5cb415f..b4621f6f6d4 100644 --- a/src/vnet/devices/af_packet/af_packet.h +++ b/src/vnet/devices/af_packet/af_packet.h @@ -17,11 +17,22 @@ *------------------------------------------------------------------ */ +#include + +#include + +typedef struct +{ + u32 sw_if_index; + u8 host_if_name[64]; +} af_packet_if_detail_t; + typedef struct { CLIB_CACHE_LINE_ALIGN_MARK (cacheline0); - volatile u32 *lockp; + clib_spinlock_t lockp; u8 *host_if_name; + int host_if_index; int fd; struct tpacket_req *rx_req; struct tpacket_req *tx_req; @@ -29,7 +40,7 @@ typedef struct u8 *tx_ring; u32 hw_if_index; u32 sw_if_index; - u32 unix_file_index; + u32 clib_file_index; u32 next_rx_frame; u32 next_tx_frame; @@ -52,20 +63,24 @@ typedef struct /* hash of host interface names */ mhash_t if_index_by_host_if_name; - /* first cpu index */ - u32 input_cpu_first_index; - - /* total cpu count */ - u32 input_cpu_count; + /** log class */ + vlib_log_class_t log_class; } af_packet_main_t; -af_packet_main_t af_packet_main; +extern af_packet_main_t af_packet_main; extern vnet_device_class_t af_packet_device_class; extern vlib_node_registration_t af_packet_input_node; int af_packet_create_if (vlib_main_t * vm, u8 * host_if_name, u8 * hw_addr_set, u32 * sw_if_index); int af_packet_delete_if (vlib_main_t * vm, u8 * host_if_name); +int af_packet_set_l4_cksum_offload (vlib_main_t * vm, u32 sw_if_index, + u8 set); +int af_packet_dump_ifs (af_packet_if_detail_t ** out_af_packet_ifs); + +format_function_t format_af_packet_device_name; + +#define MIN(x,y) (((x)<(y))?(x):(y)) /* * fd.io coding-style-patch-verification: ON