diff options
| -rw-r--r-- | drivers/isdn/i4l/isdn_net.c | 1 | ||||
| -rw-r--r-- | drivers/isdn/i4l/isdn_ppp.c | 1 | ||||
| -rw-r--r-- | drivers/net/ppp_generic.c | 1 | ||||
| -rw-r--r-- | include/net/pkt_cls.h | 6 | ||||
| -rw-r--r-- | include/net/x25device.h | 1 | ||||
| -rw-r--r-- | net/core/dev.c | 10 | ||||
| -rw-r--r-- | net/ethernet/eth.c | 1 |
7 files changed, 8 insertions, 13 deletions
diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c index f30e8e63ae0d..96c115e13389 100644 --- a/drivers/isdn/i4l/isdn_net.c +++ b/drivers/isdn/i4l/isdn_net.c | |||
| @@ -1786,7 +1786,6 @@ isdn_net_receive(struct net_device *ndev, struct sk_buff *skb) | |||
| 1786 | lp->stats.rx_bytes += skb->len; | 1786 | lp->stats.rx_bytes += skb->len; |
| 1787 | } | 1787 | } |
| 1788 | skb->dev = ndev; | 1788 | skb->dev = ndev; |
| 1789 | skb->input_dev = ndev; | ||
| 1790 | skb->pkt_type = PACKET_HOST; | 1789 | skb->pkt_type = PACKET_HOST; |
| 1791 | skb->mac.raw = skb->data; | 1790 | skb->mac.raw = skb->data; |
| 1792 | #ifdef ISDN_DEBUG_NET_DUMP | 1791 | #ifdef ISDN_DEBUG_NET_DUMP |
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c index 260a323a96d3..d97a9be5469c 100644 --- a/drivers/isdn/i4l/isdn_ppp.c +++ b/drivers/isdn/i4l/isdn_ppp.c | |||
| @@ -1177,7 +1177,6 @@ isdn_ppp_push_higher(isdn_net_dev * net_dev, isdn_net_local * lp, struct sk_buff | |||
| 1177 | mlp->huptimer = 0; | 1177 | mlp->huptimer = 0; |
| 1178 | #endif /* CONFIG_IPPP_FILTER */ | 1178 | #endif /* CONFIG_IPPP_FILTER */ |
| 1179 | skb->dev = dev; | 1179 | skb->dev = dev; |
| 1180 | skb->input_dev = dev; | ||
| 1181 | skb->mac.raw = skb->data; | 1180 | skb->mac.raw = skb->data; |
| 1182 | netif_rx(skb); | 1181 | netif_rx(skb); |
| 1183 | /* net_dev->local->stats.rx_packets++; done in isdn_net.c */ | 1182 | /* net_dev->local->stats.rx_packets++; done in isdn_net.c */ |
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c index a32668e88e09..bb71638a7c44 100644 --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c | |||
| @@ -1657,7 +1657,6 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb) | |||
| 1657 | skb->dev = ppp->dev; | 1657 | skb->dev = ppp->dev; |
| 1658 | skb->protocol = htons(npindex_to_ethertype[npi]); | 1658 | skb->protocol = htons(npindex_to_ethertype[npi]); |
| 1659 | skb->mac.raw = skb->data; | 1659 | skb->mac.raw = skb->data; |
| 1660 | skb->input_dev = ppp->dev; | ||
| 1661 | netif_rx(skb); | 1660 | netif_rx(skb); |
| 1662 | ppp->dev->last_rx = jiffies; | 1661 | ppp->dev->last_rx = jiffies; |
| 1663 | } | 1662 | } |
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index 4abda6aec05a..b902d24a3256 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h | |||
| @@ -352,10 +352,10 @@ tcf_change_indev(struct tcf_proto *tp, char *indev, struct rtattr *indev_tlv) | |||
| 352 | static inline int | 352 | static inline int |
| 353 | tcf_match_indev(struct sk_buff *skb, char *indev) | 353 | tcf_match_indev(struct sk_buff *skb, char *indev) |
| 354 | { | 354 | { |
| 355 | if (0 != indev[0]) { | 355 | if (indev[0]) { |
| 356 | if (NULL == skb->input_dev) | 356 | if (!skb->input_dev) |
| 357 | return 0; | 357 | return 0; |
| 358 | else if (0 != strcmp(indev, skb->input_dev->name)) | 358 | if (strcmp(indev, skb->input_dev->name)) |
| 359 | return 0; | 359 | return 0; |
| 360 | } | 360 | } |
| 361 | 361 | ||
diff --git a/include/net/x25device.h b/include/net/x25device.h index d45ae883bd1d..1a318374faef 100644 --- a/include/net/x25device.h +++ b/include/net/x25device.h | |||
| @@ -8,7 +8,6 @@ | |||
| 8 | static inline __be16 x25_type_trans(struct sk_buff *skb, struct net_device *dev) | 8 | static inline __be16 x25_type_trans(struct sk_buff *skb, struct net_device *dev) |
| 9 | { | 9 | { |
| 10 | skb->mac.raw = skb->data; | 10 | skb->mac.raw = skb->data; |
| 11 | skb->input_dev = skb->dev = dev; | ||
| 12 | skb->pkt_type = PACKET_HOST; | 11 | skb->pkt_type = PACKET_HOST; |
| 13 | 12 | ||
| 14 | return htons(ETH_P_X25); | 13 | return htons(ETH_P_X25); |
diff --git a/net/core/dev.c b/net/core/dev.c index e1cc162bf295..9d153eb1e8cf 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -1536,17 +1536,14 @@ static int ing_filter(struct sk_buff *skb) | |||
| 1536 | __u32 ttl = (__u32) G_TC_RTTL(skb->tc_verd); | 1536 | __u32 ttl = (__u32) G_TC_RTTL(skb->tc_verd); |
| 1537 | if (MAX_RED_LOOP < ttl++) { | 1537 | if (MAX_RED_LOOP < ttl++) { |
| 1538 | printk("Redir loop detected Dropping packet (%s->%s)\n", | 1538 | printk("Redir loop detected Dropping packet (%s->%s)\n", |
| 1539 | skb->input_dev?skb->input_dev->name:"??",skb->dev->name); | 1539 | skb->input_dev->name, skb->dev->name); |
| 1540 | return TC_ACT_SHOT; | 1540 | return TC_ACT_SHOT; |
| 1541 | } | 1541 | } |
| 1542 | 1542 | ||
| 1543 | skb->tc_verd = SET_TC_RTTL(skb->tc_verd,ttl); | 1543 | skb->tc_verd = SET_TC_RTTL(skb->tc_verd,ttl); |
| 1544 | 1544 | ||
| 1545 | skb->tc_verd = SET_TC_AT(skb->tc_verd,AT_INGRESS); | 1545 | skb->tc_verd = SET_TC_AT(skb->tc_verd,AT_INGRESS); |
| 1546 | if (NULL == skb->input_dev) { | 1546 | |
| 1547 | skb->input_dev = skb->dev; | ||
| 1548 | printk("ing_filter: fixed %s out %s\n",skb->input_dev->name,skb->dev->name); | ||
| 1549 | } | ||
| 1550 | spin_lock(&dev->ingress_lock); | 1547 | spin_lock(&dev->ingress_lock); |
| 1551 | if ((q = dev->qdisc_ingress) != NULL) | 1548 | if ((q = dev->qdisc_ingress) != NULL) |
| 1552 | result = q->enqueue(skb, q); | 1549 | result = q->enqueue(skb, q); |
| @@ -1572,6 +1569,9 @@ int netif_receive_skb(struct sk_buff *skb) | |||
| 1572 | if (!skb->stamp.tv_sec) | 1569 | if (!skb->stamp.tv_sec) |
| 1573 | net_timestamp(&skb->stamp); | 1570 | net_timestamp(&skb->stamp); |
| 1574 | 1571 | ||
| 1572 | if (!skb->input_dev) | ||
| 1573 | skb->input_dev = skb->dev; | ||
| 1574 | |||
| 1575 | orig_dev = skb_bond(skb); | 1575 | orig_dev = skb_bond(skb); |
| 1576 | 1576 | ||
| 1577 | __get_cpu_var(netdev_rx_stat).total++; | 1577 | __get_cpu_var(netdev_rx_stat).total++; |
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index f6dbfb99b14d..f444a2f2675f 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c | |||
| @@ -163,7 +163,6 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) | |||
| 163 | skb->mac.raw=skb->data; | 163 | skb->mac.raw=skb->data; |
| 164 | skb_pull(skb,ETH_HLEN); | 164 | skb_pull(skb,ETH_HLEN); |
| 165 | eth = eth_hdr(skb); | 165 | eth = eth_hdr(skb); |
| 166 | skb->input_dev = dev; | ||
| 167 | 166 | ||
| 168 | if(*eth->h_dest&1) | 167 | if(*eth->h_dest&1) |
| 169 | { | 168 | { |
