diff options
author | Jesse Gross <jesse@nicira.com> | 2010-10-20 09:56:05 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-21 04:26:53 -0400 |
commit | 65ac6a5fa658b90f1be700c55e7cd72e4611015d (patch) | |
tree | 7330c3234101c6d4c952f4abec9c8064df0e685a /net/8021q/vlan.h | |
parent | 7b9c60903714bf0a19d746b228864bad3497284e (diff) |
vlan: Avoid hash table lookup to find group.
A struct net_device always maps to zero or one vlan groups and we
always know the device when we are looking up a group. We currently
do a hash table lookup on the device to find the group but it is
much simpler to just store a pointer.
Signed-off-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan.h')
-rw-r--r-- | net/8021q/vlan.h | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/net/8021q/vlan.h b/net/8021q/vlan.h index 8d9503ad01da..db01b3181fdc 100644 --- a/net/8021q/vlan.h +++ b/net/8021q/vlan.h | |||
@@ -72,23 +72,6 @@ static inline struct vlan_dev_info *vlan_dev_info(const struct net_device *dev) | |||
72 | return netdev_priv(dev); | 72 | return netdev_priv(dev); |
73 | } | 73 | } |
74 | 74 | ||
75 | #define VLAN_GRP_HASH_SHIFT 5 | ||
76 | #define VLAN_GRP_HASH_SIZE (1 << VLAN_GRP_HASH_SHIFT) | ||
77 | #define VLAN_GRP_HASH_MASK (VLAN_GRP_HASH_SIZE - 1) | ||
78 | |||
79 | /* Find a VLAN device by the MAC address of its Ethernet device, and | ||
80 | * it's VLAN ID. The default configuration is to have VLAN's scope | ||
81 | * to be box-wide, so the MAC will be ignored. The mac will only be | ||
82 | * looked at if we are configured to have a separate set of VLANs per | ||
83 | * each MAC addressable interface. Note that this latter option does | ||
84 | * NOT follow the spec for VLANs, but may be useful for doing very | ||
85 | * large quantities of VLAN MUX/DEMUX onto FrameRelay or ATM PVCs. | ||
86 | * | ||
87 | * Must be invoked with rcu_read_lock (ie preempt disabled) | ||
88 | * or with RTNL. | ||
89 | */ | ||
90 | struct net_device *__find_vlan_dev(struct net_device *real_dev, u16 vlan_id); | ||
91 | |||
92 | /* found in vlan_dev.c */ | 75 | /* found in vlan_dev.c */ |
93 | int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, | 76 | int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, |
94 | struct packet_type *ptype, struct net_device *orig_dev); | 77 | struct packet_type *ptype, struct net_device *orig_dev); |