FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
avf.h File Reference
+ Include dependency graph for avf.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  avf_rx_desc_t
 
struct  avf_tx_desc_t
 
struct  avf_rxq_t
 
struct  avf_txq_t
 
struct  avf_flow_entry_t
 
struct  avf_flow_lookup_entry_t
 
struct  avf_device_t
 
struct  avf_process_req_t
 
struct  avf_rx_tail_t
 
struct  avf_per_thread_data_t
 
struct  avf_main_t
 
struct  avf_create_if_args_t
 
struct  avf_input_trace_t
 

Macros

#define AVF_QUEUE_SZ_MAX   4096
 
#define AVF_QUEUE_SZ_MIN   64
 
#define AVF_AQ_ENQ_SUSPEND_TIME   50e-6
 
#define AVF_AQ_ENQ_MAX_WAIT_TIME   250e-3
 
#define AVF_RESET_SUSPEND_TIME   20e-3
 
#define AVF_RESET_MAX_WAIT_TIME   1
 
#define AVF_SEND_TO_PF_SUSPEND_TIME   10e-3
 
#define AVF_SEND_TO_PF_MAX_WAIT_TIME   1
 
#define AVF_RXD_STATUS(x)   (1ULL << x)
 
#define AVF_RXD_STATUS_DD   AVF_RXD_STATUS(0)
 
#define AVF_RXD_STATUS_EOP   AVF_RXD_STATUS(1)
 
#define AVF_RXD_STATUS_FLM   AVF_RXD_STATUS (11)
 
#define AVF_RXD_ERROR_SHIFT   19
 
#define AVF_RXD_PTYPE_SHIFT   30
 
#define AVF_RXD_LEN_SHIFT   38
 
#define AVF_RX_MAX_DESC_IN_CHAIN   5
 
#define AVF_RXD_ERROR_IPE   (1ULL << (AVF_RXD_ERROR_SHIFT + 3))
 
#define AVF_RXD_ERROR_L4E   (1ULL << (AVF_RXD_ERROR_SHIFT + 4))
 
#define AVF_TXD_CMD(x)   (1 << (x + 4))
 
#define AVF_TXD_CMD_EXT(x, val)   ((u64)val << (x + 4))
 
#define AVF_TXD_CMD_EOP   AVF_TXD_CMD(0)
 
#define AVF_TXD_CMD_RS   AVF_TXD_CMD(1)
 
#define AVF_TXD_CMD_RSV   AVF_TXD_CMD(2)
 
#define AVF_TXD_CMD_IIPT_NONE   AVF_TXD_CMD_EXT(5, 0)
 
#define AVF_TXD_CMD_IIPT_IPV6   AVF_TXD_CMD_EXT(5, 1)
 
#define AVF_TXD_CMD_IIPT_IPV4_NO_CSUM   AVF_TXD_CMD_EXT(5, 2)
 
#define AVF_TXD_CMD_IIPT_IPV4   AVF_TXD_CMD_EXT(5, 3)
 
#define AVF_TXD_CMD_L4T_UNKNOWN   AVF_TXD_CMD_EXT(8, 0)
 
#define AVF_TXD_CMD_L4T_TCP   AVF_TXD_CMD_EXT(8, 1)
 
#define AVF_TXD_CMD_L4T_SCTP   AVF_TXD_CMD_EXT(8, 2)
 
#define AVF_TXD_CMD_L4T_UDP   AVF_TXD_CMD_EXT(8, 3)
 
#define AVF_TXD_OFFSET(x, factor, val)   (((u64)val/(u64)factor) << (16 + x))
 
#define AVF_TXD_OFFSET_MACLEN(val)   AVF_TXD_OFFSET( 0, 2, val)
 
#define AVF_TXD_OFFSET_IPLEN(val)   AVF_TXD_OFFSET( 7, 4, val)
 
#define AVF_TXD_OFFSET_L4LEN(val)   AVF_TXD_OFFSET(14, 4, val)
 
#define AVF_TXD_DTYP_CTX   0x1ULL
 
#define AVF_TXD_CTX_CMD_TSO   AVF_TXD_CMD(0)
 
#define AVF_TXD_CTX_SEG(val, x)   (((u64)val) << (30 + x))
 
#define AVF_TXD_CTX_SEG_TLEN(val)   AVF_TXD_CTX_SEG(val,0)
 
#define AVF_TXD_CTX_SEG_MSS(val)   AVF_TXD_CTX_SEG(val,20)
 
#define avf_log_err(dev, f, ...)
 
#define avf_log_warn(dev, f, ...)
 
#define avf_log_debug(dev, f, ...)
 
#define avf_stats_log_debug(dev, f, ...)
 
#define foreach_avf_device_flags
 
#define AVF_RX_VECTOR_SZ   VLIB_FRAME_SIZE
 
#define foreach_avf_tx_func_error
 

Enumerations

enum  { foreach_avf_device_flags }
 
enum  avf_process_event_t { AVF_PROCESS_EVENT_START = 1, AVF_PROCESS_EVENT_DELETE_IF = 2, AVF_PROCESS_EVENT_AQ_INT = 3, AVF_PROCESS_EVENT_REQ = 4 }
 
enum  avf_process_req_type_t { AVF_PROCESS_REQ_ADD_DEL_ETH_ADDR = 1, AVF_PROCESS_REQ_CONFIG_PROMISC_MDDE = 2, AVF_PROCESS_REQ_PROGRAM_FLOW = 3 }
 
enum  avf_tx_func_error_t { AVF_TX_N_ERROR }
 

Functions

 STATIC_ASSERT_SIZEOF (avf_rx_desc_t, 32)
 
 STATIC_ASSERT_SIZEOF (avf_tx_desc_t, 16)
 
void avf_create_if (vlib_main_t *vm, avf_create_if_args_t *args)
 
clib_error_tavf_program_flow (u32 dev_instance, int is_add, u8 *rule, u32 rule_len, u8 *program_status, u32 status_len)
 
static_always_inline avf_device_tavf_get_device (u32 dev_instance)
 
void avf_elog_init ()
 
void avf_elog_reg (avf_device_t *ad, u32 addr, u32 val, int is_read)
 
void avf_elog_aq_enq_req (avf_device_t *ad, avf_aq_desc_t *d)
 
void avf_elog_aq_enq_resp (avf_device_t *ad, avf_aq_desc_t *d)
 
void avf_elog_arq_desc (avf_device_t *ad, avf_aq_desc_t *d)
 
static u32 avf_get_u32 (void *start, int offset)
 
static u64 avf_get_u64 (void *start, int offset)
 
static u32 avf_get_u32_bits (void *start, int offset, int first, int last)
 
static u64 avf_get_u64_bits (void *start, int offset, int first, int last)
 
static void avf_set_u32 (void *start, int offset, u32 value)
 
static void avf_reg_write (avf_device_t *ad, u32 addr, u32 val)
 
static u32 avf_reg_read (avf_device_t *ad, u32 addr)
 
static void avf_reg_flush (avf_device_t *ad)
 
static void avf_tail_write (volatile u32 *addr, u32 val)
 
static_always_inline int avf_rxd_is_not_eop (avf_rx_desc_t *d)
 
static_always_inline int avf_rxd_is_not_dd (avf_rx_desc_t *d)
 

Variables

vlib_log_class_registration_t avf_log
 
vlib_log_class_registration_t avf_stats_log
 
avf_main_t avf_main
 
vlib_node_registration_t avf_input_node
 (constructor) VLIB_REGISTER_NODE (avf_input_node) More...
 
vlib_node_registration_t avf_process_node
 (constructor) VLIB_REGISTER_NODE (avf_process_node) More...
 
vnet_device_class_t avf_device_class
 
format_function_t format_avf_device
 
format_function_t format_avf_device_name
 
format_function_t format_avf_input_trace
 
format_function_t format_avf_vf_cap_flags
 
format_function_t format_avf_vlan_supported_caps
 
format_function_t format_avf_vlan_caps
 
format_function_t format_avf_vlan_support
 
format_function_t format_avf_eth_stats
 
vnet_flow_dev_ops_function_t avf_flow_ops_fn
 

Macro Definition Documentation

◆ AVF_AQ_ENQ_MAX_WAIT_TIME

#define AVF_AQ_ENQ_MAX_WAIT_TIME   250e-3

Definition at line 39 of file avf.h.

◆ AVF_AQ_ENQ_SUSPEND_TIME

#define AVF_AQ_ENQ_SUSPEND_TIME   50e-6

Definition at line 38 of file avf.h.

◆ avf_log_debug

#define avf_log_debug (   dev,
  f,
  ... 
)
Value:
vlib_log (VLIB_LOG_LEVEL_DEBUG, avf_log.class, "%U: " f, \
format_vlib_pci_addr, &dev->pci_addr, \
## __VA_ARGS__)

Definition at line 100 of file avf.h.

◆ avf_log_err

#define avf_log_err (   dev,
  f,
  ... 
)
Value:
vlib_log (VLIB_LOG_LEVEL_ERR, avf_log.class, "%U: " f, \
format_vlib_pci_addr, &dev->pci_addr, \
## __VA_ARGS__)

Definition at line 90 of file avf.h.

◆ avf_log_warn

#define avf_log_warn (   dev,
  f,
  ... 
)
Value:
vlib_log (VLIB_LOG_LEVEL_WARNING, avf_log.class, "%U: " f, \
format_vlib_pci_addr, &dev->pci_addr, \
## __VA_ARGS__)

Definition at line 95 of file avf.h.

◆ AVF_QUEUE_SZ_MAX

#define AVF_QUEUE_SZ_MAX   4096

Definition at line 35 of file avf.h.

◆ AVF_QUEUE_SZ_MIN

#define AVF_QUEUE_SZ_MIN   64

Definition at line 36 of file avf.h.

◆ AVF_RESET_MAX_WAIT_TIME

#define AVF_RESET_MAX_WAIT_TIME   1

Definition at line 42 of file avf.h.

◆ AVF_RESET_SUSPEND_TIME

#define AVF_RESET_SUSPEND_TIME   20e-3

Definition at line 41 of file avf.h.

◆ AVF_RX_MAX_DESC_IN_CHAIN

#define AVF_RX_MAX_DESC_IN_CHAIN   5

Definition at line 54 of file avf.h.

◆ AVF_RX_VECTOR_SZ

#define AVF_RX_VECTOR_SZ   VLIB_FRAME_SIZE

Definition at line 270 of file avf.h.

◆ AVF_RXD_ERROR_IPE

#define AVF_RXD_ERROR_IPE   (1ULL << (AVF_RXD_ERROR_SHIFT + 3))

Definition at line 56 of file avf.h.

◆ AVF_RXD_ERROR_L4E

#define AVF_RXD_ERROR_L4E   (1ULL << (AVF_RXD_ERROR_SHIFT + 4))

Definition at line 57 of file avf.h.

◆ AVF_RXD_ERROR_SHIFT

#define AVF_RXD_ERROR_SHIFT   19

Definition at line 51 of file avf.h.

◆ AVF_RXD_LEN_SHIFT

#define AVF_RXD_LEN_SHIFT   38

Definition at line 53 of file avf.h.

◆ AVF_RXD_PTYPE_SHIFT

#define AVF_RXD_PTYPE_SHIFT   30

Definition at line 52 of file avf.h.

◆ AVF_RXD_STATUS

#define AVF_RXD_STATUS (   x)    (1ULL << x)

Definition at line 47 of file avf.h.

◆ AVF_RXD_STATUS_DD

#define AVF_RXD_STATUS_DD   AVF_RXD_STATUS(0)

Definition at line 48 of file avf.h.

◆ AVF_RXD_STATUS_EOP

#define AVF_RXD_STATUS_EOP   AVF_RXD_STATUS(1)

Definition at line 49 of file avf.h.

◆ AVF_RXD_STATUS_FLM

#define AVF_RXD_STATUS_FLM   AVF_RXD_STATUS (11)

Definition at line 50 of file avf.h.

◆ AVF_SEND_TO_PF_MAX_WAIT_TIME

#define AVF_SEND_TO_PF_MAX_WAIT_TIME   1

Definition at line 45 of file avf.h.

◆ AVF_SEND_TO_PF_SUSPEND_TIME

#define AVF_SEND_TO_PF_SUSPEND_TIME   10e-3

Definition at line 44 of file avf.h.

◆ avf_stats_log_debug

#define avf_stats_log_debug (   dev,
  f,
  ... 
)
Value:
vlib_log (VLIB_LOG_LEVEL_DEBUG, avf_stats_log.class, "%U: " f, \
format_vlib_pci_addr, &dev->pci_addr, ##__VA_ARGS__)

Definition at line 105 of file avf.h.

◆ AVF_TXD_CMD

#define AVF_TXD_CMD (   x)    (1 << (x + 4))

Definition at line 59 of file avf.h.

◆ AVF_TXD_CMD_EOP

#define AVF_TXD_CMD_EOP   AVF_TXD_CMD(0)

Definition at line 61 of file avf.h.

◆ AVF_TXD_CMD_EXT

#define AVF_TXD_CMD_EXT (   x,
  val 
)    ((u64)val << (x + 4))

Definition at line 60 of file avf.h.

◆ AVF_TXD_CMD_IIPT_IPV4

#define AVF_TXD_CMD_IIPT_IPV4   AVF_TXD_CMD_EXT(5, 3)

Definition at line 68 of file avf.h.

◆ AVF_TXD_CMD_IIPT_IPV4_NO_CSUM

#define AVF_TXD_CMD_IIPT_IPV4_NO_CSUM   AVF_TXD_CMD_EXT(5, 2)

Definition at line 67 of file avf.h.

◆ AVF_TXD_CMD_IIPT_IPV6

#define AVF_TXD_CMD_IIPT_IPV6   AVF_TXD_CMD_EXT(5, 1)

Definition at line 66 of file avf.h.

◆ AVF_TXD_CMD_IIPT_NONE

#define AVF_TXD_CMD_IIPT_NONE   AVF_TXD_CMD_EXT(5, 0)

Definition at line 65 of file avf.h.

◆ AVF_TXD_CMD_L4T_SCTP

#define AVF_TXD_CMD_L4T_SCTP   AVF_TXD_CMD_EXT(8, 2)

Definition at line 72 of file avf.h.

◆ AVF_TXD_CMD_L4T_TCP

#define AVF_TXD_CMD_L4T_TCP   AVF_TXD_CMD_EXT(8, 1)

Definition at line 71 of file avf.h.

◆ AVF_TXD_CMD_L4T_UDP

#define AVF_TXD_CMD_L4T_UDP   AVF_TXD_CMD_EXT(8, 3)

Definition at line 73 of file avf.h.

◆ AVF_TXD_CMD_L4T_UNKNOWN

#define AVF_TXD_CMD_L4T_UNKNOWN   AVF_TXD_CMD_EXT(8, 0)

Definition at line 70 of file avf.h.

◆ AVF_TXD_CMD_RS

#define AVF_TXD_CMD_RS   AVF_TXD_CMD(1)

Definition at line 62 of file avf.h.

◆ AVF_TXD_CMD_RSV

#define AVF_TXD_CMD_RSV   AVF_TXD_CMD(2)

Definition at line 63 of file avf.h.

◆ AVF_TXD_CTX_CMD_TSO

#define AVF_TXD_CTX_CMD_TSO   AVF_TXD_CMD(0)

Definition at line 81 of file avf.h.

◆ AVF_TXD_CTX_SEG

#define AVF_TXD_CTX_SEG (   val,
 
)    (((u64)val) << (30 + x))

Definition at line 82 of file avf.h.

◆ AVF_TXD_CTX_SEG_MSS

#define AVF_TXD_CTX_SEG_MSS (   val)    AVF_TXD_CTX_SEG(val,20)

Definition at line 84 of file avf.h.

◆ AVF_TXD_CTX_SEG_TLEN

#define AVF_TXD_CTX_SEG_TLEN (   val)    AVF_TXD_CTX_SEG(val,0)

Definition at line 83 of file avf.h.

◆ AVF_TXD_DTYP_CTX

#define AVF_TXD_DTYP_CTX   0x1ULL

Definition at line 80 of file avf.h.

◆ AVF_TXD_OFFSET

#define AVF_TXD_OFFSET (   x,
  factor,
  val 
)    (((u64)val/(u64)factor) << (16 + x))

Definition at line 75 of file avf.h.

◆ AVF_TXD_OFFSET_IPLEN

#define AVF_TXD_OFFSET_IPLEN (   val)    AVF_TXD_OFFSET( 7, 4, val)

Definition at line 77 of file avf.h.

◆ AVF_TXD_OFFSET_L4LEN

#define AVF_TXD_OFFSET_L4LEN (   val)    AVF_TXD_OFFSET(14, 4, val)

Definition at line 78 of file avf.h.

◆ AVF_TXD_OFFSET_MACLEN

#define AVF_TXD_OFFSET_MACLEN (   val)    AVF_TXD_OFFSET( 0, 2, val)

Definition at line 76 of file avf.h.

◆ foreach_avf_device_flags

#define foreach_avf_device_flags
Value:
_ (0, INITIALIZED, "initialized") \
_ (1, ERROR, "error") \
_ (2, ADMIN_UP, "admin-up") \
_ (3, VA_DMA, "vaddr-dma") \
_ (4, LINK_UP, "link-up") \
_ (6, ELOG, "elog") \
_ (7, PROMISC, "promisc") \
_ (8, RX_INT, "rx-interrupts") \
_ (9, RX_FLOW_OFFLOAD, "rx-flow-offload")

Definition at line 109 of file avf.h.

◆ foreach_avf_tx_func_error

#define foreach_avf_tx_func_error
Value:
_(SEGMENT_SIZE_EXCEEDED, "segment size exceeded") \
_(NO_FREE_SLOTS, "no free tx slots")

Definition at line 478 of file avf.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
foreach_avf_device_flags 

Definition at line 120 of file avf.h.

◆ avf_process_event_t

Enumerator
AVF_PROCESS_EVENT_START 
AVF_PROCESS_EVENT_DELETE_IF 
AVF_PROCESS_EVENT_AQ_INT 
AVF_PROCESS_EVENT_REQ 

Definition at line 272 of file avf.h.

◆ avf_process_req_type_t

Enumerator
AVF_PROCESS_REQ_ADD_DEL_ETH_ADDR 
AVF_PROCESS_REQ_CONFIG_PROMISC_MDDE 
AVF_PROCESS_REQ_PROGRAM_FLOW 

Definition at line 280 of file avf.h.

◆ avf_tx_func_error_t

Enumerator
AVF_TX_N_ERROR 

Definition at line 482 of file avf.h.

Function Documentation

◆ avf_create_if()

void avf_create_if ( vlib_main_t vm,
avf_create_if_args_t args 
)

Definition at line 1582 of file device.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avf_elog_aq_enq_req()

void avf_elog_aq_enq_req ( avf_device_t ad,
avf_aq_desc_t d 
)

Definition at line 15 of file elog.c.

◆ avf_elog_aq_enq_resp()

void avf_elog_aq_enq_resp ( avf_device_t ad,
avf_aq_desc_t d 
)

Definition at line 70 of file elog.c.

◆ avf_elog_arq_desc()

void avf_elog_arq_desc ( avf_device_t ad,
avf_aq_desc_t d 
)

Definition at line 90 of file elog.c.

◆ avf_elog_init()

void avf_elog_init ( )

Definition at line 176 of file elog.c.

+ Here is the caller graph for this function:

◆ avf_elog_reg()

void avf_elog_reg ( avf_device_t ad,
u32  addr,
u32  val,
int  is_read 
)

Definition at line 146 of file elog.c.

+ Here is the caller graph for this function:

◆ avf_get_device()

static_always_inline avf_device_t* avf_get_device ( u32  dev_instance)

Definition at line 368 of file avf.h.

+ Here is the caller graph for this function:

◆ avf_get_u32()

static u32 avf_get_u32 ( void *  start,
int  offset 
)
inlinestatic

Definition at line 381 of file avf.h.

+ Here is the caller graph for this function:

◆ avf_get_u32_bits()

static u32 avf_get_u32_bits ( void *  start,
int  offset,
int  first,
int  last 
)
inlinestatic

Definition at line 393 of file avf.h.

+ Here is the call graph for this function:

◆ avf_get_u64()

static u64 avf_get_u64 ( void *  start,
int  offset 
)
inlinestatic

Definition at line 387 of file avf.h.

+ Here is the caller graph for this function:

◆ avf_get_u64_bits()

static u64 avf_get_u64_bits ( void *  start,
int  offset,
int  first,
int  last 
)
inlinestatic

Definition at line 404 of file avf.h.

+ Here is the call graph for this function:

◆ avf_program_flow()

clib_error_t* avf_program_flow ( u32  dev_instance,
int  is_add,
u8 rule,
u32  rule_len,
u8 program_status,
u32  status_len 
)

Definition at line 1886 of file device.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avf_reg_flush()

static void avf_reg_flush ( avf_device_t ad)
inlinestatic

Definition at line 440 of file avf.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avf_reg_read()

static u32 avf_reg_read ( avf_device_t ad,
u32  addr 
)
inlinestatic

Definition at line 429 of file avf.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avf_reg_write()

static void avf_reg_write ( avf_device_t ad,
u32  addr,
u32  val 
)
inlinestatic

Definition at line 421 of file avf.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avf_rxd_is_not_dd()

static_always_inline int avf_rxd_is_not_dd ( avf_rx_desc_t d)

Definition at line 464 of file avf.h.

+ Here is the caller graph for this function:

◆ avf_rxd_is_not_eop()

static_always_inline int avf_rxd_is_not_eop ( avf_rx_desc_t d)

Definition at line 458 of file avf.h.

+ Here is the caller graph for this function:

◆ avf_set_u32()

static void avf_set_u32 ( void *  start,
int  offset,
u32  value 
)
inlinestatic

Definition at line 415 of file avf.h.

◆ avf_tail_write()

static void avf_tail_write ( volatile u32 addr,
u32  val 
)
inlinestatic

Definition at line 447 of file avf.h.

+ Here is the caller graph for this function:

◆ STATIC_ASSERT_SIZEOF() [1/2]

STATIC_ASSERT_SIZEOF ( avf_rx_desc_t  ,
32   
)

◆ STATIC_ASSERT_SIZEOF() [2/2]

STATIC_ASSERT_SIZEOF ( avf_tx_desc_t  ,
16   
)

Variable Documentation

◆ avf_device_class

vnet_device_class_t avf_device_class

◆ avf_flow_ops_fn

Definition at line 365 of file avf.h.

◆ avf_input_node

vlib_node_registration_t avf_input_node

(constructor) VLIB_REGISTER_NODE (avf_input_node)

Definition at line 575 of file input.c.

◆ avf_log

◆ avf_main

avf_main_t avf_main

Definition at line 48 of file device.c.

◆ avf_process_node

vlib_node_registration_t avf_process_node

(constructor) VLIB_REGISTER_NODE (avf_process_node)

Definition at line 1394 of file device.c.

◆ avf_stats_log

◆ format_avf_device

format_function_t format_avf_device

Definition at line 357 of file avf.h.

◆ format_avf_device_name

format_function_t format_avf_device_name

Definition at line 358 of file avf.h.

◆ format_avf_eth_stats

format_function_t format_avf_eth_stats

Definition at line 364 of file avf.h.

◆ format_avf_input_trace

format_function_t format_avf_input_trace

Definition at line 359 of file avf.h.

◆ format_avf_vf_cap_flags

format_function_t format_avf_vf_cap_flags

Definition at line 360 of file avf.h.

◆ format_avf_vlan_caps

format_function_t format_avf_vlan_caps

Definition at line 362 of file avf.h.

◆ format_avf_vlan_support

format_function_t format_avf_vlan_support

Definition at line 363 of file avf.h.

◆ format_avf_vlan_supported_caps

format_function_t format_avf_vlan_supported_caps

Definition at line 361 of file avf.h.

f
vlib_frame_t * f
Definition: interface_output.c:1080
ELOG
#define ELOG(em, f, data)
Definition: elog.h:474
vlib_log_registration::class
vlib_log_class_t class
Definition: log.h:85
format_vlib_pci_addr
format_function_t format_vlib_pci_addr
Definition: pci.h:326
avf_log
vlib_log_class_registration_t avf_log
avf_stats_log
vlib_log_class_registration_t avf_stats_log
vlib_log
void vlib_log(vlib_log_level_t level, vlib_log_class_t class, char *fmt,...)
Definition: log.c:131