|
@@ -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_hatype = dev->type;
|
|
sll->sll_protocol = skb->protocol;
|
|
sll->sll_protocol = skb->protocol;
|
|
sll->sll_pkttype = skb->pkt_type;
|
|
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;
|
|
sll->sll_ifindex = orig_dev->ifindex;
|
|
else
|
|
else
|
|
sll->sll_ifindex = dev->ifindex;
|
|
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_hatype = dev->type;
|
|
sll->sll_protocol = skb->protocol;
|
|
sll->sll_protocol = skb->protocol;
|
|
sll->sll_pkttype = skb->pkt_type;
|
|
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;
|
|
sll->sll_ifindex = orig_dev->ifindex;
|
|
else
|
|
else
|
|
sll->sll_ifindex = dev->ifindex;
|
|
sll->sll_ifindex = dev->ifindex;
|