From: David Yang Date: Sat, 31 Jan 2026 02:18:48 +0000 (+0800) Subject: net: dsa: tag_yt921x: add priority support X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cdb2cc9a11b589b564bd0fc72e524e1be69e967;p=thirdparty%2Fkernel%2Flinux.git net: dsa: tag_yt921x: add priority support Required by DCB/QoS support of the switch driver, since the rx packets will have non-zero priorities. Signed-off-by: David Yang Link: https://patch.msgid.link/20260131021854.3405036-3-mmyangfl@gmail.com Reviewed-by: Vladimir Oltean Signed-off-by: Paolo Abeni --- diff --git a/net/dsa/tag_yt921x.c b/net/dsa/tag_yt921x.c index 098863d491ff..aefef8c770e3 100644 --- a/net/dsa/tag_yt921x.c +++ b/net/dsa/tag_yt921x.c @@ -69,7 +69,9 @@ yt921x_tag_xmit(struct sk_buff *skb, struct net_device *netdev) tag[0] = htons(ETH_P_YT921X); /* VLAN tag unrelated when TX */ tag[1] = 0; - tag[2] = 0; + ctrl = YT921X_TAG_CODE(YT921X_TAG_CODE_FORWARD) | YT921X_TAG_CODE_EN | + YT921X_TAG_PRIO(skb->priority); + tag[2] = htons(ctrl); ctrl = YT921X_TAG_TX_PORTS(dsa_xmit_port_mask(skb, netdev)) | YT921X_TAG_PORT_EN; tag[3] = htons(ctrl); @@ -112,6 +114,8 @@ yt921x_tag_rcv(struct sk_buff *skb, struct net_device *netdev) return NULL; } + skb->priority = FIELD_GET(YT921X_TAG_PRIO_M, rx); + if (!(rx & YT921X_TAG_CODE_EN)) { dev_warn_ratelimited(&netdev->dev, "Tag code not enabled in rx packet\n");