• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/8021q/

Lines Matching defs:real_dev

71 static struct vlan_group *__vlan_find_group(struct net_device *real_dev)
75 int hash = vlan_grp_hashfn(real_dev->ifindex);
78 if (grp->real_dev == real_dev)
89 struct net_device *__find_vlan_dev(struct net_device *real_dev, u16 vlan_id)
91 struct vlan_group *grp = __vlan_find_group(real_dev);
108 static struct vlan_group *vlan_group_alloc(struct net_device *real_dev)
116 grp->real_dev = real_dev;
118 &vlan_group_hash[vlan_grp_hashfn(real_dev->ifindex)]);
150 struct net_device *real_dev = vlan->real_dev;
151 const struct net_device_ops *ops = real_dev->netdev_ops;
157 grp = __vlan_find_group(real_dev);
164 if (vlan_id && (real_dev->features & NETIF_F_HW_VLAN_FILTER))
165 ops->ndo_vlan_rx_kill_vid(real_dev, vlan_id);
174 (void)ctf_dev_vlan_delete(kcih, real_dev, vlan_id);
181 vlan_gvrp_uninit_applicant(real_dev);
183 if (real_dev->features & NETIF_F_HW_VLAN_RX)
184 ops->ndo_vlan_rx_register(real_dev, NULL);
192 /* Get rid of the vlan's reference to real_dev */
193 dev_put(real_dev);
196 int vlan_check_real_dev(struct net_device *real_dev, u16 vlan_id)
198 const char *name = real_dev->name;
199 const struct net_device_ops *ops = real_dev->netdev_ops;
201 if (real_dev->features & NETIF_F_VLAN_CHALLENGED) {
206 if ((real_dev->features & NETIF_F_HW_VLAN_RX) && !ops->ndo_vlan_rx_register) {
211 if ((real_dev->features & NETIF_F_HW_VLAN_FILTER) &&
217 if (__find_vlan_dev(real_dev, vlan_id) != NULL)
226 struct net_device *real_dev = vlan->real_dev;
227 const struct net_device_ops *ops = real_dev->netdev_ops;
232 grp = __vlan_find_group(real_dev);
234 ngrp = grp = vlan_group_alloc(real_dev);
237 err = vlan_gvrp_init_applicant(real_dev);
251 dev_hold(real_dev);
253 netif_stacked_transfer_operstate(real_dev, dev);
262 dev->features |= (real_dev->features & (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_CSUM));
264 if (ngrp && real_dev->features & NETIF_F_HW_VLAN_RX)
265 ops->ndo_vlan_rx_register(real_dev, ngrp);
266 if (real_dev->features & NETIF_F_HW_VLAN_FILTER)
267 ops->ndo_vlan_rx_add_vid(real_dev, vlan_id);
273 vlan_gvrp_uninit_applicant(real_dev);
286 static int register_vlan_device(struct net_device *real_dev, u16 vlan_id)
289 struct net *net = dev_net(real_dev);
297 err = vlan_check_real_dev(real_dev, vlan_id);
305 snprintf(name, IFNAMSIZ, "%s.%.4i", real_dev->name, vlan_id);
317 snprintf(name, IFNAMSIZ, "%s.%i", real_dev->name, vlan_id);
328 vlan_setup, real_dev->num_tx_queues);
333 new_dev->real_num_tx_queues = real_dev->real_num_tx_queues;
338 new_dev->mtu = real_dev->mtu;
341 vlan_dev_info(new_dev)->real_dev = real_dev;
351 (void)ctf_dev_vlan_add(kcih, real_dev, vlan_id, new_dev);