mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
net: dsa: tag_brcm: Indicate to master netdevice port + queue
We need to tell the DSA master network device doing the actual transmission what the desired switch port and queue number is for it to resolve that to the internal transmit queue it is mapped to. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
60724d4bae
commit
0a5f14ce67
@ -516,4 +516,9 @@ static inline int call_dsa_notifiers(unsigned long val, struct net_device *dev,
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Broadcom tag specific helpers to insert and extract queue/port number */
|
||||
#define BRCM_TAG_SET_PORT_QUEUE(p, q) ((p) << 8 | q)
|
||||
#define BRCM_TAG_GET_PORT(v) ((v) >> 8)
|
||||
#define BRCM_TAG_GET_QUEUE(v) ((v) & 0xff)
|
||||
|
||||
#endif
|
||||
|
@ -86,6 +86,12 @@ static struct sk_buff *brcm_tag_xmit(struct sk_buff *skb, struct net_device *dev
|
||||
brcm_tag[2] = BRCM_IG_DSTMAP2_MASK;
|
||||
brcm_tag[3] = (1 << p->dp->index) & BRCM_IG_DSTMAP1_MASK;
|
||||
|
||||
/* Now tell the master network device about the desired output queue
|
||||
* as well
|
||||
*/
|
||||
skb_set_queue_mapping(skb, BRCM_TAG_SET_PORT_QUEUE(p->dp->index,
|
||||
queue));
|
||||
|
||||
return skb;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user