[AF_PACKET]: Allow multicast traffic to be caught by ORIGDEV when bonded
The socket option for packet sockets to return the original ifindex instead of the bonded ifindex will not match multicast traffic. Since this socket option is the most useful for layer 2 traffic and multicast traffic, make the option multicast-aware. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
60d78c4473
Коммит
8032b46489
|
@ -509,7 +509,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev, struct packet
|
|||
sll->sll_hatype = dev->type;
|
||||
sll->sll_protocol = skb->protocol;
|
||||
sll->sll_pkttype = skb->pkt_type;
|
||||
if (unlikely(po->origdev) && skb->pkt_type == PACKET_HOST)
|
||||
if (unlikely(po->origdev))
|
||||
sll->sll_ifindex = orig_dev->ifindex;
|
||||
else
|
||||
sll->sll_ifindex = dev->ifindex;
|
||||
|
@ -655,7 +655,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev, struct packe
|
|||
sll->sll_hatype = dev->type;
|
||||
sll->sll_protocol = skb->protocol;
|
||||
sll->sll_pkttype = skb->pkt_type;
|
||||
if (unlikely(po->origdev) && skb->pkt_type == PACKET_HOST)
|
||||
if (unlikely(po->origdev))
|
||||
sll->sll_ifindex = orig_dev->ifindex;
|
||||
else
|
||||
sll->sll_ifindex = dev->ifindex;
|
||||
|
|
Загрузка…
Ссылка в новой задаче