> +static struct sk_buff *xrs700x_rcv(struct sk_buff *skb, struct net_device *dev, > + struct packet_type *pt) > +{ > + int source_port; > + u8 *trailer; > + > + if (skb_linearize(skb)) > + return NULL; Something for Vladimir: Could this linearise be moved into the core, depending on the tail_tag? > + if (pskb_trim_rcsum(skb, skb->len - 1)) > + return NULL; And the overhead is also in dsa_devlink_ops, so maybe this can be moved as well? Andrew