ip_local_deliver && ip_local_deliver_finish】的更多相关文章

当ip包收上来,查路由,发现是发往本地的数据包时,会调用ip_local_deliver函数: ip_local_deliver中对ip分片进行重组,经过LOCAL_IN钩子点,然后调用ip_local_deliver_finish: ip_local_deliver_finish函数处理原始套接字的数据接收,并调用上层协议的包接收函数,将数据包传递到传输层: /* * Deliver IP Packets to the higher protocol layers. */ int ip_loc…
http://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/ Jun 22, 2016 • packagecloud Tags: packagecloud linux kernel networking optimization tuning monitoring TL;DR This blog post explains how computers runn…
ip报文根据路由结果:如果发往本地则调用ip_local_deliver处理报文:如果是转发出去,则调用ip_forward 处理报文. 一.ip报文转发到本地: /* * Deliver IP Packets to the higher protocol layers. */ /* * 在ip_route_input_noref进行路由选择后,如果接收的包 * 是发送给本机,则调用ip_local_deliver来传递给上层协议 */ int ip_local_deliver(struct s…
創建的內核線程長期佔用cpu,一直內核認為線程soft lockup,如無法獲取自旋鎖等:因此線程可適度調用schdule(),以進行進程的調度:因為kwatchdog的執行級別低,一直得不到執行 [ 8644.084020] BUG: soft lockup - CPU#0 stuck for 22s! [ip_consumer:7777] [ 8644.087361] Modules linked in: kfw(O) dm_crypt snd_hda_codec_realtek nfsd…
转自:http://blog.chinaunix.net/uid-23069658-id-3160506.html 本人研究linux的防火墙系统也有一段时间了,由于近来涉及到的工作比较纷杂,久而久之怕生熟了.趁有时间,好好把这方面的东西总结一番.一来是给自己做个沉淀,二来也欢迎这方面比较牛的前辈给小弟予以指点,共同学习,共同进步. 能在CU上混的人绝非等闲之辈.因此,小弟这里说明一下:本系列博文主要侧重于分析Netfilter的实现机制,原理和设计思想层面的东西,同时从用户态的iptables…
netfiler框架是在内核协议栈实现的基础上完成的,在报文从网口接收,路由等方法实现基础上使用NF_HOOK调用相应的钩子来进入netfiler框架的处理,如 ip_rcv之后会调用NF_HOOK(NF_IP_PRE_ROUTING) NF_HOOK宏定义如下: #define NF_HOOK(pf, hook, skb, indev, outdev, okfn) \ NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, INT_MIN) #de…
ipv4报文处理流程 1.物理层网卡收到报文,产生中断进入中断处理程序:net_interrupt,判断中断是由接收到分组引发后,控制权转移到net_rx: 2.net_rx函数分配一个新的sk_buf,从网卡取出分组内容到内存: 3.netif_rx负责将接收到的分组放置到一个特定于cpu的等待队列上,标记软中断:NET_RX_SOFTIRQ,并退出中断上下文: 4.net_rx_action从等待队列取出一个套接字缓冲区(分组),分析分组的类型,以便根据分组类型将分组传递给网络层的接收函数,…
基于Linux-2.6.30版本,具体实现net\ipv4\netfilter目录下,入口文件为net\ipv4\netfilter\iptable_filter.c,入口/出口函数为模块的init函数iptable_filter_init()和uninit函数iptable_filter_fini() iptable_filter_init()函数流程如下 1.register_pernet_subsys(&iptable_filter_net_ops),其作用初步看是用于注册报文匹配目标规则…
看到一篇讲Netfilter框架的,如果有一点基础了的话对于捋清整个框架很好帮助,转下来细细阅读. 转自http://aichundi.blog.163.com/blog/static/7013846220084910397396/ ##### 一.概述 1. Netfilter/IPTables框架简介 Netfilter/IPTables是继2.0.x的IPfwadm.2.2.x的IPchains之后,新一代的Linux防火墙机制.Netfilter采用模块化设计,具有良好的可扩充性.其重要…
http://blog.csdn.net/wswifth/article/details/5102242 一.前言 Linux的源码里,网络接口的实现部份是非常值得一读的,通过读源码,不仅对网络协议会有更深的了解,也有助于在网络编程的时候,对应用函数有更精确的了解和把握. 本文把重点放在网络接口程序的总体结构上,希望能作为读源码时一些指导性的文字. 本文以Linux2.4.16内核作为讲解的对象,内核源码可以在http://www.kernel.org上下载.我读源码时参考的是http://lx…