The naming choice of index is not terribly descriptive, and dropcnt is
in fact incorrect for xdp2. Pick better names for these: ipproto and
rxcnt.

Signed-off-by: Brenden Blanco <bbla...@plumgrid.com>
---
 samples/bpf/xdp1_kern.c | 12 ++++++------
 samples/bpf/xdp2_kern.c | 14 +++++++-------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/samples/bpf/xdp1_kern.c b/samples/bpf/xdp1_kern.c
index e7dd8ac..2197421 100644
--- a/samples/bpf/xdp1_kern.c
+++ b/samples/bpf/xdp1_kern.c
@@ -14,7 +14,7 @@
 #include <linux/ipv6.h>
 #include "bpf_helpers.h"
 
-struct bpf_map_def SEC("maps") dropcnt = {
+struct bpf_map_def SEC("maps") rxcnt = {
        .type = BPF_MAP_TYPE_PERCPU_ARRAY,
        .key_size = sizeof(u32),
        .value_size = sizeof(long),
@@ -49,7 +49,7 @@ int xdp_prog1(struct xdp_md *ctx)
        long *value;
        u16 h_proto;
        u64 nh_off;
-       u32 index;
+       u32 ipproto;
 
        nh_off = sizeof(*eth);
        if (data + nh_off > data_end)
@@ -77,13 +77,13 @@ int xdp_prog1(struct xdp_md *ctx)
        }
 
        if (h_proto == htons(ETH_P_IP))
-               index = parse_ipv4(data, nh_off, data_end);
+               ipproto = parse_ipv4(data, nh_off, data_end);
        else if (h_proto == htons(ETH_P_IPV6))
-               index = parse_ipv6(data, nh_off, data_end);
+               ipproto = parse_ipv6(data, nh_off, data_end);
        else
-               index = 0;
+               ipproto = 0;
 
-       value = bpf_map_lookup_elem(&dropcnt, &index);
+       value = bpf_map_lookup_elem(&rxcnt, &ipproto);
        if (value)
                *value += 1;
 
diff --git a/samples/bpf/xdp2_kern.c b/samples/bpf/xdp2_kern.c
index 38fe7e1..e012888 100644
--- a/samples/bpf/xdp2_kern.c
+++ b/samples/bpf/xdp2_kern.c
@@ -14,7 +14,7 @@
 #include <linux/ipv6.h>
 #include "bpf_helpers.h"
 
-struct bpf_map_def SEC("maps") dropcnt = {
+struct bpf_map_def SEC("maps") rxcnt = {
        .type = BPF_MAP_TYPE_PERCPU_ARRAY,
        .key_size = sizeof(u32),
        .value_size = sizeof(long),
@@ -65,7 +65,7 @@ int xdp_prog1(struct xdp_md *ctx)
        long *value;
        u16 h_proto;
        u64 nh_off;
-       u32 index;
+       u32 ipproto;
 
        nh_off = sizeof(*eth);
        if (data + nh_off > data_end)
@@ -93,17 +93,17 @@ int xdp_prog1(struct xdp_md *ctx)
        }
 
        if (h_proto == htons(ETH_P_IP))
-               index = parse_ipv4(data, nh_off, data_end);
+               ipproto = parse_ipv4(data, nh_off, data_end);
        else if (h_proto == htons(ETH_P_IPV6))
-               index = parse_ipv6(data, nh_off, data_end);
+               ipproto = parse_ipv6(data, nh_off, data_end);
        else
-               index = 0;
+               ipproto = 0;
 
-       value = bpf_map_lookup_elem(&dropcnt, &index);
+       value = bpf_map_lookup_elem(&rxcnt, &ipproto);
        if (value)
                *value += 1;
 
-       if (index == 17) {
+       if (ipproto == IPPROTO_UDP) {
                swap_src_dst_mac(data);
                rc = XDP_TX;
        }
-- 
2.8.2

Reply via email to