X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Faf_packet%2Faf_packet.h;h=b4621f6f6d41c6a0ec1385c23e6cd0199e668d21;hb=c8352bc43dfa02707e8806e1ae5b310bbdb4d302;hp=19e2523d6c9464560cb2d18eb56e4bcf17a1fc31;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vnet/devices/af_packet/af_packet.h b/src/vnet/devices/af_packet/af_packet.h index 19e2523d6c9..b4621f6f6d4 100644 --- a/src/vnet/devices/af_packet/af_packet.h +++ b/src/vnet/devices/af_packet/af_packet.h @@ -17,10 +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); + clib_spinlock_t lockp; u8 *host_if_name; + int host_if_index; int fd; struct tpacket_req *rx_req; struct tpacket_req *tx_req; @@ -28,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; @@ -50,15 +62,25 @@ typedef struct /* hash of host interface names */ mhash_t if_index_by_host_if_name; + + /** 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