Lines Matching refs:vlan

8  *              VLAN Home Page: http://www.candelatech.com/~greear/vlan.html
31 #include "vlan.h"
50 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
56 if (!(vlan->flags & VLAN_FLAG_REORDER_HDR)) {
59 vlan_tci = vlan->vlan_id;
72 skb->protocol = vlan->vlan_proto;
73 type = ntohs(vlan->vlan_proto);
82 dev = vlan->real_dev;
89 static inline netdev_tx_t vlan_netpoll_send_skb(struct vlan_dev_priv *vlan, struct sk_buff *skb)
92 return netpoll_send_skb(vlan->netpoll, skb);
102 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
112 if (vlan->flags & VLAN_FLAG_REORDER_HDR ||
113 veth->h_vlan_proto != vlan->vlan_proto) {
115 vlan_tci = vlan->vlan_id;
117 __vlan_hwaccel_put_tag(skb, vlan->vlan_proto, vlan_tci);
120 skb->dev = vlan->real_dev;
123 return vlan_netpoll_send_skb(vlan, skb);
130 stats = this_cpu_ptr(vlan->vlan_pcpu_stats);
136 this_cpu_inc(vlan->vlan_pcpu_stats->tx_dropped);
160 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
162 if (vlan->ingress_priority_map[vlan_prio & 0x7] && !skb_prio)
163 vlan->nr_ingress_mappings--;
164 else if (!vlan->ingress_priority_map[vlan_prio & 0x7] && skb_prio)
165 vlan->nr_ingress_mappings++;
167 vlan->ingress_priority_map[vlan_prio & 0x7] = skb_prio;
173 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
179 mp = vlan->egress_priority_map[skb_prio & 0xF];
183 vlan->nr_egress_mappings--;
185 vlan->nr_egress_mappings++;
193 mp = vlan->egress_priority_map[skb_prio & 0xF];
206 vlan->egress_priority_map[skb_prio & 0xF] = np;
208 vlan->nr_egress_mappings++;
217 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
218 u32 old_flags = vlan->flags;
225 vlan->flags = (old_flags & ~mask) | (flags & mask);
227 if (netif_running(dev) && (vlan->flags ^ old_flags) & VLAN_FLAG_GVRP) {
228 if (vlan->flags & VLAN_FLAG_GVRP)
234 if (netif_running(dev) && (vlan->flags ^ old_flags) & VLAN_FLAG_MVRP) {
235 if (vlan->flags & VLAN_FLAG_MVRP)
261 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
262 struct net_device *real_dev = vlan->real_dev;
266 !(vlan->flags & VLAN_FLAG_LOOSE_BINDING))
287 ether_addr_copy(vlan->real_dev_addr, real_dev->dev_addr);
289 if (vlan->flags & VLAN_FLAG_GVRP)
292 if (vlan->flags & VLAN_FLAG_MVRP)
296 !(vlan->flags & VLAN_FLAG_BRIDGE_BINDING))
313 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
314 struct net_device *real_dev = vlan->real_dev;
326 if (!(vlan->flags & VLAN_FLAG_BRIDGE_BINDING))
508 * vlan network devices have devices nesting below it, and are a special
547 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
548 struct net_device *real_dev = vlan->real_dev;
563 .name = "vlan",
570 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
571 struct net_device *real_dev = vlan->real_dev;
582 if (vlan->flags & VLAN_FLAG_BRIDGE_BINDING)
618 if (vlan_hw_offload_capable(real_dev->features, vlan->vlan_proto)) {
632 vlan->vlan_pcpu_stats = netdev_alloc_pcpu_stats(struct vlan_pcpu_stats);
633 if (!vlan->vlan_pcpu_stats)
636 /* Get vlan's reference to real_dev */
637 netdev_hold(real_dev, &vlan->dev_tracker, GFP_KERNEL);
646 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
649 for (i = 0; i < ARRAY_SIZE(vlan->egress_priority_map); i++) {
650 while ((pm = vlan->egress_priority_map[i]) != NULL) {
651 vlan->egress_priority_map[i] = pm->next;
674 * checksum offload on the vlan device.
688 const struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
690 return __ethtool_get_link_ksettings(vlan->real_dev, cmd);
704 const struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
705 const struct ethtool_ops *ops = vlan->real_dev->ethtool_ops;
706 struct phy_device *phydev = vlan->real_dev->phydev;
711 return ops->get_ts_info(vlan->real_dev, info);
763 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
764 struct net_device *real_dev = vlan->real_dev;
779 vlan->netpoll = netpoll;
787 struct vlan_dev_priv *vlan= vlan_dev_priv(dev);
788 struct netpoll *netpoll = vlan->netpoll;
793 vlan->netpoll = NULL;
808 struct vlan_dev_priv *vlan = vlan_dev_priv(ctx->dev);
811 path->encap.id = vlan->vlan_id;
812 path->encap.proto = vlan->vlan_proto;
814 ctx->dev = vlan->real_dev;
815 if (ctx->num_vlans >= ARRAY_SIZE(ctx->vlan))
818 ctx->vlan[ctx->num_vlans].id = vlan->vlan_id;
819 ctx->vlan[ctx->num_vlans].proto = vlan->vlan_proto;
1105 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
1107 free_percpu(vlan->vlan_pcpu_stats);
1108 vlan->vlan_pcpu_stats = NULL;
1110 /* Get rid of the vlan's reference to real_dev */
1111 netdev_put(vlan->real_dev, &vlan->dev_tracker);