From 7bf075d95a2b470dc9d6cbadbf93d856136c6090 Mon Sep 17 00:00:00 2001 From: William Tu Date: Wed, 20 Nov 2019 12:25:56 -0800 Subject: [PATCH] netdev-afxdp: Enable libbpf logging to OVS. libbpf has pr_warn, pr_info, and pr_debug. The patch registers these print functions, integrating the libbpf logs to OVS log. Signed-off-by: William Tu Acked-by: Eelco Chaudron --- lib/netdev-afxdp.c | 20 ++++++++++++++++++++ lib/netdev-afxdp.h | 1 + lib/netdev-linux.c | 1 + 3 files changed, 22 insertions(+) diff --git a/lib/netdev-afxdp.c b/lib/netdev-afxdp.c index e1cd88351..ca2dfd005 100644 --- a/lib/netdev-afxdp.c +++ b/lib/netdev-afxdp.c @@ -1099,6 +1099,26 @@ netdev_afxdp_rxq_destruct(struct netdev_rxq *rxq_ OVS_UNUSED) /* Nothing. */ } +static int +libbpf_print(enum libbpf_print_level level, + const char *format, va_list args) +{ + if (level == LIBBPF_WARN) { + vlog_valist(&this_module, VLL_WARN, format, args); + } else if (level == LIBBPF_INFO) { + vlog_valist(&this_module, VLL_INFO, format, args); + } else { + vlog_valist(&this_module, VLL_DBG, format, args); + } + return 0; +} + +int netdev_afxdp_init(void) +{ + libbpf_set_print(libbpf_print); + return 0; +} + int netdev_afxdp_construct(struct netdev *netdev) { diff --git a/lib/netdev-afxdp.h b/lib/netdev-afxdp.h index 54079c80c..8188bc669 100644 --- a/lib/netdev-afxdp.h +++ b/lib/netdev-afxdp.h @@ -46,6 +46,7 @@ struct netdev_custom_stats; int netdev_afxdp_rxq_construct(struct netdev_rxq *rxq_); void netdev_afxdp_rxq_destruct(struct netdev_rxq *rxq_); +int netdev_afxdp_init(void); int netdev_afxdp_construct(struct netdev *netdev_); void netdev_afxdp_destruct(struct netdev *netdev_); int netdev_afxdp_verify_mtu_size(const struct netdev *netdev, int mtu); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index 0a32cf9bc..f8e59bacf 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -3299,6 +3299,7 @@ const struct netdev_class netdev_afxdp_class = { NETDEV_LINUX_CLASS_COMMON, .type = "afxdp", .is_pmd = true, + .init = netdev_afxdp_init, .construct = netdev_afxdp_construct, .destruct = netdev_afxdp_destruct, .get_stats = netdev_afxdp_get_stats, -- 2.39.5