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>
This commit is contained in:
committed by
David S. Miller
parent
2886447dc5
commit
a873585587
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user