admin管理员组

文章数量:1642239

【推荐阅读】

浅谈linux 内核网络 sk_buff 之克隆与复制

深入linux内核架构--进程&线程

浅析linux内核网络协议栈--linux bridge

1.

int netif_receive_skb(struct sk_buff *skb),该函数是网络设备驱动到链路层协议栈的接口函数,该函数最后会调用__netif_receive_skb_core函数,下面主要介绍函数流程

1.1

  list_for_each_entry_rcu(ptype, &ptype_all, list) {  //遍历ptype_all,如果有则做相应处理,例如raw socket和tcpdump实现  
        if (pt_prev)  
            ret = deliver_skb(skb, pt_prev, orig_dev);  
        pt_prev = ptype;  
    } 

主要遍历ptype_all链表的所有成员,然后执行成员里的处理函数,PF_PACKETsocket和tcpdump等实现都在这里了

1.2

rx_handler = rcu_d

本文标签: 一文协议链路层网络Linux