Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31030
  • 博文数量: 6
  • 博客积分: 224
  • 博客等级:
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-31 09:39
文章分类

全部博文(6)

文章存档

2012年(3)

2011年(3)

分类: LINUX

2012-10-21 14:01:37

[vlan_proto_init]
    - vlan_proc_init
    - dev_add_pack
    - register_netdevice_notifiler
    - vlan_ioctl_set(vlan_ioctl_handler)

static struct packet_type vlan_packet_type = {
.type = __constant_htons(ETH_P_8021Q),
.func = vlan_skb_recv, /* VLAN receive method */
};

[vlan_skb_recv]
    - get vlan from skb->data(vlan_hdr)
    - skb->dev = __find_vlan_dev (from eth0 to eth0.10)
        - __vlan_find_group
        - vlan_group_get_device
    - stats 
    - skb_pull_rcsum(skb, VLAN_HLEN); (take off vlan header)
    - check dev
    - vlan_get_ingress_priority
    - vlan_check_reorder_header
        - skb_shared
        - skb_clone
        - kfree_skb (user-1)
    - netif_rx
         
阅读(1964) | 评论(0) | 转发(0) |
0

上一篇:uboot-1.2.0

下一篇:没有了

给主人留下些什么吧!~~