On Tue, Dec 01, 2020 at 11:31:02PM +0100, Tobias Waldekranz wrote:
> >> + if (unlikely(!dsa_slave_dev_check(skb->dev))) {
> >> + /* Packet is to be injected directly on an upper
> >> + * device, e.g. a team/bond, so skip all DSA-port
> >> + * specific actions.
> >> + */
> >> + netif_rx(skb);
> >> + return 0;
> >
> > netif_rx returns an int code, it seems odd to ignore it.
>
> This is exactly the same treatment that the return code from
> gro_cells_receive gets just a few lines down. They return the same set
> of codes (NET_RX_{SUCCESS,DROP}).
>
> Looking through the source base, there are a few callers that look at
> the return value (the overwhelming majority ignore it). Actions vary
> from printing warnings (without rate-limit, yikes), setting variables
> that are otherwise unused, or bumping a counter (the only reasonable
> thing I have seen).
>
> But looking through enqueue_to_backlog, it seems like there already is a
> counter for this that is accessible from /proc/net/softnet_data.
And also, more obviously, in ndo_get_stats64 (ip -s -s link).
Ok, I think you can ignore the return value.