diff options
author | Jakub Grajciar <jgrajcia@cisco.com> | 2018-05-21 12:39:03 +0200 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-05-22 17:39:39 +0000 |
commit | b5236cb975c766154a36d0d59731850683635ea4 (patch) | |
tree | 2d5aab62a78e328474c89b0ffbcf762b6846907a /src | |
parent | 3e0ee6ec3ce1d3f32c1faca7514048e55412220e (diff) |
avf plugin: add support for logging
Change-Id: Ic8c5b527395fc99f1e1a72e51f8d41c9b4f415df
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/avf/avf.h | 4 | ||||
-rw-r--r-- | src/plugins/avf/device.c | 15 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/plugins/avf/avf.h b/src/plugins/avf/avf.h index 71e6f09e824..5db40746541 100644 --- a/src/plugins/avf/avf.h +++ b/src/plugins/avf/avf.h @@ -17,6 +17,8 @@ #include <avf/virtchnl.h> +#include <vlib/log.h> + #define foreach_avf_device_flags \ _(0, INITIALIZED, "initialized") \ _(1, ERROR, "error") \ @@ -162,6 +164,8 @@ typedef struct vlib_physmem_region_index_t physmem_region; int physmem_region_alloc; + vlib_log_class_t log_class; + /* 256 element array for ptype based lookup */ avf_ptype_t *ptypes; } avf_main_t; diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c index 4a0fed19d44..85c062ec5ab 100644 --- a/src/plugins/avf/device.c +++ b/src/plugins/avf/device.c @@ -41,9 +41,6 @@ static pci_device_id_t avf_pci_device_ids[] = { {0}, }; -//#define avf_log_debug(fmt, ...) fformat(stderr, "%s: " fmt "\n", __func__, __VA_ARGS__) -#define avf_log_debug(fmt, ...) - static inline void avf_irq_0_disable (avf_device_t * ad) { @@ -102,6 +99,7 @@ clib_error_t * avf_aq_desc_enq (vlib_main_t * vm, avf_device_t * ad, avf_aq_desc_t * dt, void *data, int len) { + avf_main_t *am = &avf_main; clib_error_t *err = 0; avf_aq_desc_t *d, dc; int n_retry = 5; @@ -126,7 +124,7 @@ avf_aq_desc_enq (vlib_main_t * vm, avf_device_t * ad, avf_aq_desc_t * dt, clib_memcpy (&dc, d, sizeof (avf_aq_desc_t)); CLIB_MEMORY_BARRIER (); - avf_log_debug ("%U", format_hexdump, data, len); + vlib_log_debug (am->log_class, "%U", format_hexdump, data, len); ad->atq_next_slot = (ad->atq_next_slot + 1) % AVF_MBOX_LEN; avf_reg_write (ad, AVF_ATQT, ad->atq_next_slot); avf_reg_flush (ad); @@ -744,6 +742,7 @@ avf_device_init (vlib_main_t * vm, avf_device_t * ad) void avf_process_one_device (vlib_main_t * vm, avf_device_t * ad, int is_irq) { + avf_main_t *am = &avf_main; vnet_main_t *vnm = vnet_get_main (); virtchnl_pf_event_t *e; u32 r; @@ -856,12 +855,14 @@ avf_process_one_device (vlib_main_t * vm, avf_device_t * ad, int is_irq) error: ad->flags |= AVF_DEVICE_F_ERROR; ASSERT (ad->error != 0); + vlib_log_err (am->log_class, "%U", format_clib_error, ad->error); } static u32 avf_flag_change (vnet_main_t * vnm, vnet_hw_interface_t * hw, u32 flags) { - clib_warning ("TODO"); + avf_main_t *am = &avf_main; + vlib_log_warn (am->log_class, "TODO"); return 0; } @@ -1152,6 +1153,7 @@ error: args->rv = VNET_API_ERROR_INVALID_INTERFACE; args->error = clib_error_return (error, "pci-addr %U", format_vlib_pci_addr, &args->addr); + vlib_log_err (am->log_class, "%U", format_clib_error, args->error); } static clib_error_t * @@ -1229,6 +1231,9 @@ avf_init (vlib_main_t * vm) } /* *INDENT-ON* */ + am->log_class = vlib_log_register_class ("avf_plugin", 0); + vlib_log_debug (am->log_class, "initialized"); + return 0; } |