diff options
author | Christian Breunig <christian@breunig.cc> | 2023-06-12 19:57:28 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2023-06-12 19:57:28 +0200 |
commit | fcb5d0fdafeebe49f42799b1d0d056c4b67bcc16 (patch) | |
tree | 28a5a272cc66cd5c6b4bc1132b4db5a455ca3214 /src/xdp/common/xdp_stats_kern.h | |
parent | f9fa1e99e042846a8089ae2b4bc41dd8f3e3eb7c (diff) | |
download | vyos-1x-fcb5d0fdafeebe49f42799b1d0d056c4b67bcc16.tar.gz vyos-1x-fcb5d0fdafeebe49f42799b1d0d056c4b67bcc16.zip |
T5286: drop XDP support for ethernet and bonding interfaces
... this is a step towards a new and better implementation that will utilize
VPP.
Diffstat (limited to 'src/xdp/common/xdp_stats_kern.h')
-rw-r--r-- | src/xdp/common/xdp_stats_kern.h | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/xdp/common/xdp_stats_kern.h b/src/xdp/common/xdp_stats_kern.h deleted file mode 100644 index c061a149d..000000000 --- a/src/xdp/common/xdp_stats_kern.h +++ /dev/null @@ -1,44 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ - -/* Used *ONLY* by BPF-prog running kernel side. */ -#ifndef __XDP_STATS_KERN_H -#define __XDP_STATS_KERN_H - -/* Data record type 'struct datarec' is defined in common/xdp_stats_kern_user.h, - * programs using this header must first include that file. - */ -#ifndef __XDP_STATS_KERN_USER_H -#warning "You forgot to #include <../common/xdp_stats_kern_user.h>" -#include <../common/xdp_stats_kern_user.h> -#endif - -/* Keeps stats per (enum) xdp_action */ -struct { - __uint(type, BPF_MAP_TYPE_PERCPU_ARRAY); - __type(key, __u32); - __type(value, struct datarec); - __uint(max_entries, XDP_ACTION_MAX); -} xdp_stats_map SEC(".maps"); - -static __always_inline -__u32 xdp_stats_record_action(struct xdp_md *ctx, __u32 action) -{ - if (action >= XDP_ACTION_MAX) - return XDP_ABORTED; - - /* Lookup in kernel BPF-side return pointer to actual data record */ - struct datarec *rec = bpf_map_lookup_elem(&xdp_stats_map, &action); - if (!rec) - return XDP_ABORTED; - - /* BPF_MAP_TYPE_PERCPU_ARRAY returns a data record specific to current - * CPU and XDP hooks runs under Softirq, which makes it safe to update - * without atomic operations. - */ - rec->rx_packets++; - rec->rx_bytes += (ctx->data_end - ctx->data); - - return action; -} - -#endif /* __XDP_STATS_KERN_H */ |