(struct vnet_hw_interface_t * hi,
const u8 * old_address, const u8 * new_address);
+/* Interface add/del additional mac address callback */
+typedef clib_error_t *(vnet_interface_add_del_mac_address_function_t)
+ (struct vnet_hw_interface_t * hi, const u8 * address, u8 is_add);
+
/* Interface set rx mode callback. */
typedef clib_error_t *(vnet_interface_set_rx_mode_function_t)
(struct vnet_main_t * vnm, u32 if_index, u32 queue_id,
/* Function to set mac address. */
vnet_interface_set_mac_address_function_t *mac_addr_change_function;
+
+ /* Function to add/delete additional MAC addresses */
+ vnet_interface_add_del_mac_address_function_t *mac_addr_add_del_function;
} vnet_device_class_t;
#ifndef CLIB_MARCH_VARIANT
/* Function to call when link MAC changes. */
vnet_interface_set_mac_address_function_t *mac_addr_change_function;
+ /* Function to add/delete additional MAC addresses */
+ vnet_interface_add_del_mac_address_function_t *mac_addr_add_del_function;
+
/* Format function to display interface name. */
format_function_t *format_interface_name;
that packets flow over. */
typedef struct vnet_hw_interface_t
{
+ CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
/* Interface name. */
u8 *name;
/* numa node that hardware device connects to */
u8 numa_node;
- u8 padding[3];
+ /* trace */
+ i32 n_trace;
+
+ u32 trace_classify_table_index;
} vnet_hw_interface_t;
extern vnet_device_class_t vnet_local_interface_device_class;
vnet_hw_interface_nodes_t *deleted_hw_interface_nodes;
- /* pcap drop tracing */
- int drop_pcap_enable;
- pcap_main_t pcap_main;
- u8 *pcap_filename;
- u32 pcap_sw_if_index;
- u32 pcap_pkts_to_capture;
+ /*
+ * pcap drop tracing
+ * Only the drop filter hash lives here. See ../src/vlib/main.h for
+ * the rest of the variables.
+ */
uword *pcap_drop_filter_hash;
/* Buffer metadata format helper functions */
int enable;
int status;
u32 packets_to_capture;
- vlib_rx_or_tx_t rxtx;
+ u32 max_bytes_per_pkt;
+ u8 rx_enable;
+ u8 tx_enable;
+ u8 drop_enable;
u32 sw_if_index;
int filter;
} vnet_pcap_dispatch_trace_args_t;