diff options
author | David S. Miller <davem@davemloft.net> | 2005-08-09 22:36:29 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 18:33:26 -0400 |
commit | 86e65da9c1fc6fb421b9f796b597b3eced6b55ab (patch) | |
tree | 69ae9d0c30afe54cea3e4c6119791c1318c2198d | |
parent | 0742fd53a3774781255bd1e471e7aa2e4a82d5f7 (diff) |
[NET]: Remove explicit initializations of skb->input_dev
Instead, set it in one place, namely the beginning of
netif_receive_skb().
Based upon suggestions from Jamal Hadi Salim.
Signed-off-by: David S. Miller <davem@davemloft.net>
-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 | { |