aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q/vlan.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2013-04-18 22:04:28 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-19 14:45:27 -0400
commit80d5c3689b886308247da295a228a54df49a44f6 (patch)
treece7b1e6898c3f9fea945e67fd06b125dfcc61fe7 /net/8021q/vlan.c
parentf646968f8f7c624587de729115d802372b9063dd (diff)
net: vlan: prepare for 802.1ad VLAN filtering offload
Change the rx_{add,kill}_vid callbacks to take a protocol argument in preparation of 802.1ad support. The protocol argument used so far is always htons(ETH_P_8021Q). Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan.c')
-rw-r--r--net/8021q/vlan.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index d913feed0757..447c5c93434f 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -112,7 +112,7 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head)
112 * VLAN is not 0 (leave it there for 802.1p). 112 * VLAN is not 0 (leave it there for 802.1p).
113 */ 113 */
114 if (vlan_id) 114 if (vlan_id)
115 vlan_vid_del(real_dev, vlan_id); 115 vlan_vid_del(real_dev, htons(ETH_P_8021Q), vlan_id);
116 116
117 /* Get rid of the vlan's reference to real_dev */ 117 /* Get rid of the vlan's reference to real_dev */
118 dev_put(real_dev); 118 dev_put(real_dev);
@@ -142,7 +142,7 @@ int register_vlan_dev(struct net_device *dev)
142 struct vlan_group *grp; 142 struct vlan_group *grp;
143 int err; 143 int err;
144 144
145 err = vlan_vid_add(real_dev, vlan_id); 145 err = vlan_vid_add(real_dev, htons(ETH_P_8021Q), vlan_id);
146 if (err) 146 if (err)
147 return err; 147 return err;
148 148
@@ -195,7 +195,7 @@ out_uninit_gvrp:
195 if (grp->nr_vlan_devs == 0) 195 if (grp->nr_vlan_devs == 0)
196 vlan_gvrp_uninit_applicant(real_dev); 196 vlan_gvrp_uninit_applicant(real_dev);
197out_vid_del: 197out_vid_del:
198 vlan_vid_del(real_dev, vlan_id); 198 vlan_vid_del(real_dev, htons(ETH_P_8021Q), vlan_id);
199 return err; 199 return err;
200} 200}
201 201
@@ -350,7 +350,7 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
350 (dev->features & NETIF_F_HW_VLAN_CTAG_FILTER)) { 350 (dev->features & NETIF_F_HW_VLAN_CTAG_FILTER)) {
351 pr_info("adding VLAN 0 to HW filter on device %s\n", 351 pr_info("adding VLAN 0 to HW filter on device %s\n",
352 dev->name); 352 dev->name);
353 vlan_vid_add(dev, 0); 353 vlan_vid_add(dev, htons(ETH_P_8021Q), 0);
354 } 354 }
355 355
356 vlan_info = rtnl_dereference(dev->vlan_info); 356 vlan_info = rtnl_dereference(dev->vlan_info);
@@ -416,7 +416,7 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event,
416 416
417 case NETDEV_DOWN: 417 case NETDEV_DOWN:
418 if (dev->features & NETIF_F_HW_VLAN_CTAG_FILTER) 418 if (dev->features & NETIF_F_HW_VLAN_CTAG_FILTER)
419 vlan_vid_del(dev, 0); 419 vlan_vid_del(dev, htons(ETH_P_8021Q), 0);
420 420
421 /* Put all VLANs for this dev in the down state too. */ 421 /* Put all VLANs for this dev in the down state too. */
422 for (i = 0; i < VLAN_N_VID; i++) { 422 for (i = 0; i < VLAN_N_VID; i++) {