aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-07-13 02:28:12 -0400
committerDavid S. Miller <davem@davemloft.net>2011-07-13 05:29:59 -0400
commite69dd336ee3a05a589629b505b18ba5e7a5b4c54 (patch)
treece221d370029164d5ea498ab0da50672d03a5b0e /net
parent3769cffb1c48f64640ffab7ce3bffe867342c0f0 (diff)
net: Push protocol type directly down to header_ops->cache()
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/core/neighbour.c2
-rw-r--r--net/ethernet/eth.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 50bd960983e0..8f7e1d8d92a0 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1247,7 +1247,7 @@ static void neigh_hh_init(struct neighbour *n, struct dst_entry *dst,
1247 hh->hh_type = protocol; 1247 hh->hh_type = protocol;
1248 atomic_set(&hh->hh_refcnt, 2); 1248 atomic_set(&hh->hh_refcnt, 2);
1249 1249
1250 if (dev->header_ops->cache(n, hh)) { 1250 if (dev->header_ops->cache(n, hh, protocol)) {
1251 kfree(hh); 1251 kfree(hh);
1252 return; 1252 return;
1253 } 1253 }
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index 44d2b42fda56..5cffb63f481a 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -233,9 +233,8 @@ EXPORT_SYMBOL(eth_header_parse);
233 * @hh: destination cache entry 233 * @hh: destination cache entry
234 * Create an Ethernet header template from the neighbour. 234 * Create an Ethernet header template from the neighbour.
235 */ 235 */
236int eth_header_cache(const struct neighbour *neigh, struct hh_cache *hh) 236int eth_header_cache(const struct neighbour *neigh, struct hh_cache *hh, __be16 type)
237{ 237{
238 __be16 type = hh->hh_type;
239 struct ethhdr *eth; 238 struct ethhdr *eth;
240 const struct net_device *dev = neigh->dev; 239 const struct net_device *dev = neigh->dev;
241 240