i40e, xsk: Get rid of redundant 'fallthrough'
authorMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Thu, 21 Apr 2022 13:21:26 +0000 (15:21 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 21 Apr 2022 14:31:10 +0000 (16:31 +0200)
Intel drivers translate actions returned from XDP programs to their own
return codes that have the following mapping:

XDP_REDIRECT -> I40E_XDP_{REDIR,CONSUMED}
XDP_TX -> I40E_XDP_{TX,CONSUMED}
XDP_DROP -> I40E_XDP_CONSUMED
XDP_ABORTED -> I40E_XDP_CONSUMED
XDP_PASS -> I40E_XDP_PASS

Commit b8aef650e549 ("i40e, xsk: Terminate Rx side of NAPI when XSK Rx
queue gets full") introduced new translation

XDP_REDIRECT -> I40E_XDP_EXIT

which is set when XSK RQ gets full and to indicate that driver should
stop further Rx processing. This happens for unsuccessful
xdp_do_redirect() so it is valuable to call trace_xdp_exception() for
this case. In order to avoid I40E_XDP_EXIT -> IXGBE_XDP_CONSUMED
overwrite, XDP_DROP case was moved above which in turn made the
'fallthrough' that is in XDP_ABORTED useless as it became the last label
in the switch statement.

Simply drop this leftover.

Fixes: b8aef650e549 ("i40e, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full")
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220421132126.471515-3-maciej.fijalkowski@intel.com
drivers/net/ethernet/intel/i40e/i40e_xsk.c

index 050280fd10c17469a18a44efaedcc28c16c5c0c3..af3e7e6afc8528e86c45ccce10f71744db68293a 100644 (file)
@@ -189,7 +189,6 @@ static int i40e_run_xdp_zc(struct i40e_ring *rx_ring, struct xdp_buff *xdp)
                result = I40E_XDP_CONSUMED;
 out_failure:
                trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
-               fallthrough; /* handle aborts by dropping packet */
        }
        return result;
 }