diff options
author | Björn Töpel <bjorn.topel@intel.com> | 2019-12-19 07:10:06 +0100 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-12-19 21:09:43 -0800 |
commit | 1170beaa3fa3c3381fd820e9d05b84d168fe1dab (patch) | |
tree | 39d15968f69918489e4ade622fc4808575f8edbe /net/core | |
parent | 332f22a60e4c3492d4953cd6f7aaa4e8bd0bba97 (diff) | |
download | linux-1170beaa3fa3c3381fd820e9d05b84d168fe1dab.tar.gz linux-1170beaa3fa3c3381fd820e9d05b84d168fe1dab.tar.bz2 linux-1170beaa3fa3c3381fd820e9d05b84d168fe1dab.zip |
xdp: Simplify __bpf_tx_xdp_map()
The explicit error checking is not needed. Simply return the error
instead.
Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/bpf/20191219061006.21980-9-bjorn.topel@gmail.com
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/filter.c | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index d9caa3e57ea1..217af9974c86 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -3510,35 +3510,16 @@ err: } static int __bpf_tx_xdp_map(struct net_device *dev_rx, void *fwd, - struct bpf_map *map, - struct xdp_buff *xdp) + struct bpf_map *map, struct xdp_buff *xdp) { - int err; - switch (map->map_type) { case BPF_MAP_TYPE_DEVMAP: - case BPF_MAP_TYPE_DEVMAP_HASH: { - struct bpf_dtab_netdev *dst = fwd; - - err = dev_map_enqueue(dst, xdp, dev_rx); - if (unlikely(err)) - return err; - break; - } - case BPF_MAP_TYPE_CPUMAP: { - struct bpf_cpu_map_entry *rcpu = fwd; - - err = cpu_map_enqueue(rcpu, xdp, dev_rx); - if (unlikely(err)) - return err; - break; - } - case BPF_MAP_TYPE_XSKMAP: { - struct xdp_sock *xs = fwd; - - err = __xsk_map_redirect(xs, xdp); - return err; - } + case BPF_MAP_TYPE_DEVMAP_HASH: + return dev_map_enqueue(fwd, xdp, dev_rx); + case BPF_MAP_TYPE_CPUMAP: + return cpu_map_enqueue(fwd, xdp, dev_rx); + case BPF_MAP_TYPE_XSKMAP: + return __xsk_map_redirect(fwd, xdp); default: break; } |