Commit d9094bda authored by Brenden Blanco's avatar Brenden Blanco Committed by David S. Miller

bpf: make xdp sample variable names more meaningful

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: default avatarBrenden Blanco <bblanco@plumgrid.com>
Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 262d8625
......@@ -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;
......
......@@ -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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment