160 likes | 627 Views
Linux Networking. 主讲:孟宁 电话:0512-68839302 E-mail:mengning@ustc.edu.cn 主页:http://staff.ustc.edu.cn/~mengning 地址:苏州工业园区独墅湖高等教育区仁爱路166号明德楼A302室. 2012年5月. Structure of the Linux kernel. IEEE 802 in the Linux network architecture. Packet queues in the Linux kernel.
E N D
Linux Networking 主讲:孟宁 电话:0512-68839302 E-mail:mengning@ustc.edu.cn 主页:http://staff.ustc.edu.cn/~mengning 地址:苏州工业园区独墅湖高等教育区仁爱路166号明德楼A302室 2012年5月
recvfrom • recvfrom、sock_recvmsg... sock->ops->recvmsg/socket.c • inet_recvmsg、sk->sk_prot->recvmsg/af_inet.c(struct proto_ops inet_dgram_ops) • udp_recvmsg/udp.c(struct proto udp_prot) • __skb_recv_datagram、wait_for_packet/datagram.c
interrupt rx • el3_interrupt、el3_rx、dev_alloc_skb+insl(ioaddr+RX_FIFO, skb_put(skb, pkt_len)...);+netif_rx(enqueue_to_backlog)/3c589_cs.c
softirq rx • net_rx_action • napi_complete、napi_gro_flush、napi_gro_complete、netif_receive_skb、pt_prev->func/dev.c • ip_rcv、ip_rcv_finish、ipprot->handler(skb)/ip_input.c • udp_rcv、__udp_queue_rcv_skb/udp.c、ip_queue_rcv_skb/ip_sockglue.c、sock_queue_rcv_skb、sk->sk_data_ready(sk, skb_len);/sock.c