linux/net/8021q/vlan.h
<<
>>
Prefs
   1#ifndef __BEN_VLAN_802_1Q_INC__
   2#define __BEN_VLAN_802_1Q_INC__
   3
   4#include <linux/if_vlan.h>
   5
   6extern unsigned short vlan_name_type;
   7
   8#define VLAN_GRP_HASH_SHIFT     5
   9#define VLAN_GRP_HASH_SIZE      (1 << VLAN_GRP_HASH_SHIFT)
  10#define VLAN_GRP_HASH_MASK      (VLAN_GRP_HASH_SIZE - 1)
  11
  12/*  Find a VLAN device by the MAC address of its Ethernet device, and
  13 *  it's VLAN ID.  The default configuration is to have VLAN's scope
  14 *  to be box-wide, so the MAC will be ignored.  The mac will only be
  15 *  looked at if we are configured to have a separate set of VLANs per
  16 *  each MAC addressable interface.  Note that this latter option does
  17 *  NOT follow the spec for VLANs, but may be useful for doing very
  18 *  large quantities of VLAN MUX/DEMUX onto FrameRelay or ATM PVCs.
  19 *
  20 *  Must be invoked with rcu_read_lock (ie preempt disabled)
  21 *  or with RTNL.
  22 */
  23struct net_device *__find_vlan_dev(struct net_device *real_dev,
  24                                   unsigned short VID); /* vlan.c */
  25
  26/* found in vlan_dev.c */
  27int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev,
  28                  struct packet_type *ptype, struct net_device *orig_dev);
  29void vlan_dev_set_ingress_priority(const struct net_device *dev,
  30                                   u32 skb_prio, short vlan_prio);
  31int vlan_dev_set_egress_priority(const struct net_device *dev,
  32                                 u32 skb_prio, short vlan_prio);
  33int vlan_dev_set_vlan_flag(const struct net_device *dev,
  34                           u32 flag, short flag_val);
  35void vlan_dev_get_realdev_name(const struct net_device *dev, char *result);
  36void vlan_dev_get_vid(const struct net_device *dev, unsigned short *result);
  37
  38int vlan_check_real_dev(struct net_device *real_dev, unsigned short vlan_id);
  39void vlan_setup(struct net_device *dev);
  40int register_vlan_dev(struct net_device *dev);
  41void unregister_vlan_dev(struct net_device *dev);
  42
  43int vlan_netlink_init(void);
  44void vlan_netlink_fini(void);
  45
  46extern struct rtnl_link_ops vlan_link_ops;
  47
  48static inline int is_vlan_dev(struct net_device *dev)
  49{
  50        return dev->priv_flags & IFF_802_1Q_VLAN;
  51}
  52
  53#endif /* !(__BEN_VLAN_802_1Q_INC__) */
  54
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.