X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fvnet.h;h=24afe633af2e91b6c8d3991c741a8ea5f3d41980;hb=b5a2b05327c1a2bbb23dbb7131cc1be6c0db5e67;hp=a726f0379ef4653c2d2dc9072932e72eda5f4763;hpb=9137e5400699bed9f7c0095187839a8b38273100;p=vpp.git diff --git a/src/vnet/vnet.h b/src/vnet/vnet.h index a726f0379ef..24afe633af2 100644 --- a/src/vnet/vnet.h +++ b/src/vnet/vnet.h @@ -40,6 +40,8 @@ #ifndef included_vnet_vnet_h #define included_vnet_vnet_h +#include + #include #include @@ -48,6 +50,29 @@ #include #include +/* ip table add delete callback */ +typedef struct _vnet_ip_table_function_list_elt +{ + struct _vnet_ip_table_function_list_elt *next_ip_table_function; + clib_error_t *(*fp) (struct vnet_main_t * vnm, u32 table_id, u32 flags); +} _vnet_ip_table_function_list_elt_t; + +typedef struct +{ + /* Trace RX pkts */ + u8 pcap_rx_enable; + /* Trace TX pkts */ + u8 pcap_tx_enable; + /* Trace drop pkts */ + u8 pcap_drop_enable; + u8 pad1; + u32 max_bytes_per_pkt; + u32 pcap_sw_if_index; + pcap_main_t pcap_main; + u32 filter_classify_table_index; + vlib_error_t pcap_error_index; +} vnet_pcap_t; + typedef struct vnet_main_t { u32 local_interface_hw_if_index; @@ -71,20 +96,24 @@ typedef struct vnet_main_t uword *interface_tag_by_sw_if_index; - /* - * Last "api" error, preserved so we can issue reasonable diagnostics - * at or near the top of the food chain - */ - vnet_api_error_t api_errno; + _vnet_ip_table_function_list_elt_t + * ip_table_add_del_functions[VNET_ITF_FUNC_N_PRIO]; + + /* pcap rx / tx tracing */ + vnet_pcap_t pcap; - /* pcap rx/tx, packet tracer filter tables */ - u32 *classify_filter_table_indices; + /* + * Last "api" error, preserved so we can issue reasonable diagnostics + * at or near the top of the food chain + */ + vnet_api_error_t api_errno; - vlib_main_t *vlib_main; + vlib_main_t *vlib_main; } vnet_main_t; extern vnet_main_t vnet_main; +#include #include #include