diff options
author | David S. Miller <davem@davemloft.net> | 2011-07-13 03:51:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-13 05:29:59 -0400 |
commit | 5c25f686db352082eef8daa21b760192351a023a (patch) | |
tree | 20b1d6797b0d9d6757e2e367ceb6cc4fe866acbe /include/linux/netdevice.h | |
parent | e69dd336ee3a05a589629b505b18ba5e7a5b4c54 (diff) |
net: Kill support for multiple hh_cache entries per neighbour
This never, ever, happens.
Neighbour entries are always tied to one address family, and therefore
one set of dst_ops, and therefore one dst_ops->protocol "hh_type"
value.
This capability was blindly imported by Alexey Kuznetsov when he wrote
the neighbour layer.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 564d89fdddda..75382378a1ba 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -252,7 +252,6 @@ struct netdev_hw_addr_list { | |||
252 | netdev_hw_addr_list_for_each(ha, &(dev)->mc) | 252 | netdev_hw_addr_list_for_each(ha, &(dev)->mc) |
253 | 253 | ||
254 | struct hh_cache { | 254 | struct hh_cache { |
255 | struct hh_cache *hh_next; /* Next entry */ | ||
256 | atomic_t hh_refcnt; /* number of users */ | 255 | atomic_t hh_refcnt; /* number of users */ |
257 | /* | 256 | /* |
258 | * We want hh_output, hh_len, hh_lock and hh_data be a in a separate | 257 | * We want hh_output, hh_len, hh_lock and hh_data be a in a separate |
@@ -260,12 +259,8 @@ struct hh_cache { | |||
260 | * They are mostly read, but hh_refcnt may be changed quite frequently, | 259 | * They are mostly read, but hh_refcnt may be changed quite frequently, |
261 | * incurring cache line ping pongs. | 260 | * incurring cache line ping pongs. |
262 | */ | 261 | */ |
263 | __be16 hh_type ____cacheline_aligned_in_smp; | 262 | u16 hh_len ____cacheline_aligned_in_smp; |
264 | /* protocol identifier, f.e ETH_P_IP | 263 | u16 __pad; |
265 | * NOTE: For VLANs, this will be the | ||
266 | * encapuslated type. --BLG | ||
267 | */ | ||
268 | u16 hh_len; /* length of header */ | ||
269 | int (*hh_output)(struct sk_buff *skb); | 264 | int (*hh_output)(struct sk_buff *skb); |
270 | seqlock_t hh_lock; | 265 | seqlock_t hh_lock; |
271 | 266 | ||