summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorJesper Dangaard Brouer <brouer@redhat.com>2017-08-24 12:33:18 +0200
committerDavid S. Miller <davem@davemloft.net>2017-08-24 11:59:37 -0700
commita873585587205750e7accfb2c93c29239ffa6e09 (patch)
tree3896a9d8cd9c2fb67d06e549e8ff0614beebfbe5 /net/core
parent2886447dc5add28226451c163cd9ac1d1b3bf59a (diff)
downloadop-kernel-dev-a873585587205750e7accfb2c93c29239ffa6e09.zip
op-kernel-dev-a873585587205750e7accfb2c93c29239ffa6e09.tar.gz
xdp: remove net_device names from xdp_redirect tracepoint
There is too much overhead in the current trace_xdp_redirect tracepoint as it does strcpy and strlen on the net_device names. Besides, exposing the ifindex/index is actually the information that is needed in the tracepoint to diagnose issues. When a lookup fails (either ifindex or devmap index) then there is a need for saying which to_index that have issues. V2: Adjust args to be aligned with trace_xdp_exception. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/filter.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/core/filter.c b/net/core/filter.c
index a046803..4bcd6ba 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -2524,7 +2524,7 @@ static int xdp_do_redirect_map(struct net_device *dev, struct xdp_buff *xdp,
if (likely(!err))
ri->map_to_flush = map;
out:
- trace_xdp_redirect(dev, fwd, xdp_prog, XDP_REDIRECT, err);
+ trace_xdp_redirect(dev, xdp_prog, XDP_REDIRECT, index, err);
return err;
}
@@ -2548,7 +2548,7 @@ int xdp_do_redirect(struct net_device *dev, struct xdp_buff *xdp,
err = __bpf_tx_xdp(fwd, NULL, xdp, 0);
out:
- trace_xdp_redirect(dev, fwd, xdp_prog, XDP_REDIRECT, err);
+ trace_xdp_redirect(dev, xdp_prog, XDP_REDIRECT, index, err);
return err;
}
EXPORT_SYMBOL_GPL(xdp_do_redirect);
@@ -2582,7 +2582,7 @@ int xdp_do_generic_redirect(struct net_device *dev, struct sk_buff *skb,
skb->dev = fwd;
out:
- trace_xdp_redirect(dev, fwd, xdp_prog, XDP_REDIRECT, err);
+ trace_xdp_redirect(dev, xdp_prog, XDP_REDIRECT, index, err);
return err;
}
EXPORT_SYMBOL_GPL(xdp_do_generic_redirect);
OpenPOWER on IntegriCloud