Message ID | 20230322233823.1806736-5-vladimir.oltean@nxp.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Remove skb_mac_header() dependency in DSA xmit path | expand |
On Thu, Mar 23, 2023 at 01:38:18AM +0200, Vladimir Oltean wrote: > skb_mac_header() will no longer be available in the TX path when > reverting commit 6d1ccff62780 ("net: reset mac header in > dev_start_xmit()"). As preparation for that, let's use > skb_vlan_eth_hdr() to get to the VLAN header instead, which assumes it's > located at skb->data (assumption which holds true here). > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Simon Horman <simon.horman@corigine.com>
On 3/22/23 16:38, Vladimir Oltean wrote: > skb_mac_header() will no longer be available in the TX path when > reverting commit 6d1ccff62780 ("net: reset mac header in > dev_start_xmit()"). As preparation for that, let's use > skb_vlan_eth_hdr() to get to the VLAN header instead, which assumes it's > located at skb->data (assumption which holds true here). > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
diff --git a/net/dsa/tag_ocelot.c b/net/dsa/tag_ocelot.c index 28ebecafdd24..73ee09de1a3a 100644 --- a/net/dsa/tag_ocelot.c +++ b/net/dsa/tag_ocelot.c @@ -26,7 +26,7 @@ static void ocelot_xmit_get_vlan_info(struct sk_buff *skb, struct dsa_port *dp, return; } - hdr = (struct vlan_ethhdr *)skb_mac_header(skb); + hdr = skb_vlan_eth_hdr(skb); br_vlan_get_proto(br, &proto); if (ntohs(hdr->h_vlan_proto) == proto) {
skb_mac_header() will no longer be available in the TX path when reverting commit 6d1ccff62780 ("net: reset mac header in dev_start_xmit()"). As preparation for that, let's use skb_vlan_eth_hdr() to get to the VLAN header instead, which assumes it's located at skb->data (assumption which holds true here). Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- net/dsa/tag_ocelot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)