On Fri, Sep 4, 2026 at 5:54 PM Kyle Switch [off-list ref] wrote:
+ tag[0] = htons(ETH_P_YT921X);
+ if (dp->index != 0) {
+ /* Port index is not equal 0 in tag[1] */
+ ctrl = YT922X_TAG_PRIO(skb->priority) | YT922X_TAG_FORCE_DST |
+ YT922X_TAG_PORTS(dsa_xmit_port_mask(skb, netdev));
+ tag[1] = htons(ctrl);
+ tag[2] = 0;
+ } else {
+ /* Port 0 in bit15 in tag[2] */
+ ctrl = YT922X_TAG_PRIO(skb->priority) | YT922X_TAG_FORCE_DST;
+ tag[1] = htons(ctrl);
+ ctrl = YT922X_TAG_PORTMASK_0;
+ tag[2] = htons(ctrl);
+ }
This does not seem correct, as dsa_xmit_port_mask() may return a port
combination, including port 0 and non-0 ports.