当前位置:  技术问答>linux和unix

【在线急等】Linux网络内核相关的问题?

    来源: 互联网  发布时间:2017-01-22

    本文导语:      我一直在做Android L2TP/IPsec 这块的代码,之前跟综上层没发现啥问题,后来我跟了下内核部分, 内核是:Linux2.6.35.3 的。     每次都是到L2TP发送SCCRQ的部分就发不出去,然后我就跟内核,总是在查找安全路由的时候...


    我一直在做Android L2TP/IPsec 这块的代码,之前跟综上层没发现啥问题,后来我跟了下内核部分,
内核是:Linux2.6.35.3 的。

    每次都是到L2TP发送SCCRQ的部分就发不出去,然后我就跟内核,总是在查找安全路由的时候被分到一个黑洞路由,然后我就看了看代码,代码大概是下面这个样子的,每次net->xfrm.sysctl_larval_drop总是通过,然后就制做了一个黑洞路由。


if (route == NULL && num_xfrms > 0) {
/* The only case when xfrm_bundle_lookup() returns a
 * bundle with null route, is when the template could
 * not be resolved. It means policies are there, but
 * bundle could not be created, since we don't yet
 * have the xfrm_state's. We need to wait for KM to
 * negotiate new SA's or bail out with error.*/
if (net->xfrm.sysctl_larval_drop) {
/* EREMOTE tells the caller to generate
 * a one-shot blackhole route. */
dst_release(dst);
xfrm_pols_put(pols, drop_pols);
XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTNOSTATES);

return make_blackhole(net, family, dst_orig);
}
         .....
         }



    后来我又看了下初始化net->xfrm.sysctl_larval_drop的地方,是在xfrm_sysctl.c中的__xfrm_sysctl_init函数。代码是下面这个样子

static void __net_init __xfrm_sysctl_init(struct net *net)
{
net->xfrm.sysctl_aevent_etime = XFRM_AE_ETIME;
net->xfrm.sysctl_aevent_rseqth = XFRM_AE_SEQT_SIZE;
net->xfrm.sysctl_larval_drop = 1;//改的这里
net->xfrm.sysctl_acq_expires = 30;
}


后来我就把这个net->xfrm.sysctl_larval_drop这行改成了 等于0

static void __net_init __xfrm_sysctl_init(struct net *net)
{
net->xfrm.sysctl_aevent_etime = XFRM_AE_ETIME;
net->xfrm.sysctl_aevent_rseqth = XFRM_AE_SEQT_SIZE;
net->xfrm.sysctl_larval_drop = 0;//改的这里
net->xfrm.sysctl_acq_expires = 30;
}


    这时候重新编译了下内核,然后把生成的包烧进android的机子,这时ipsec确实正常通过了,可是在日志上却出现了下面这样的情况

12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.544692] ------------[ cut here ]------------
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.544739] WARNING: at /home/b617/git/bbdev/hardware/intel/linux-2.6/include/linux/skbuff.h:474 xfrm_output_resume+0x2fc/0x351()
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.544765] Modules linked in: tiwlan_drv atomisp lm3554 mt9m114 mt9e013 videobuf_vmalloc videobuf_dma_contig videobuf_core bt_drv st_drv sdio [last unloaded: tiwlan_drv]
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.544914] Pid: 3329, comm: mtpd Tainted: G        W   2.6.35.3+ #11
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.544932] Call Trace:
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.544977]  [] warn_slowpath_common+0x4a/0xa6
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.545012]  [] ? xfrm_output_resume+0x2fc/0x351
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.545050]  [] warn_slowpath_null+0xf/0x13
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.545086]  [] xfrm_output_resume+0x2fc/0x351
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.545125]  [] xfrm_output+0x9f/0xaa
12-06 13:21:46.606 W/Kernel-Dmesg(    0): [ 4563.545162]  [] xfrm4_output_finish+0x39/0x3c
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545195]  [] xfrm4_output+0x55/0x5c
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545230]  [] dst_output+0x12/0x15
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545263]  [] ip_local_out+0x93/0x9a
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545298]  [] ip_push_pending_frames+0x271/0x2e4
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545338]  [] udp_push_pending_frames+0x27f/0x2e0
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545374]  [] ? udp_sendmsg+0x440/0x53a
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545411]  [] udp_sendmsg+0x45f/0x53a
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545453]  [] ? rcu_read_lock+0x0/0x2b
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545490]  [] ? rcu_read_lock+0x0/0x2b
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545530]  [] ? get_parent_ip+0xb/0x31
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545567]  [] inet_sendmsg+0x47/0x50
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545606]  [] sock_sendmsg+0xc0/0xdb
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545648]  [] ? __wake_up+0x32/0x3b
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545688]  [] ? logger_aio_write+0x262/0x277
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545737]  [] sys_sendto+0xc3/0xdf
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545785]  [] ? fsnotify_modify+0x5d/0x68
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545833]  [] sys_socketcall+0x16d/0x3c1
12-06 13:21:46.610 W/Kernel-Dmesg(    0): [ 4563.545874]  [] ? vfs_writev+0x36/0x44
12-06 13:21:46.615 W/Kernel-Dmesg(    0): [ 4563.545916]  [] syscall_call+0x7/0xb
12-06 13:21:46.615 W/Kernel-Dmesg(    0): [ 4563.545947] ---[ end trace 01e818355159b7b9 ]---


我不明白上面的日志信息是什么意思,还有我改的那行代码是什么意思?望高手指点(net->xfrm.sysctl_larval_drop)

|
没有人回答就自己google啊:
http://www.serverphorums.com/read.php?12,201874

    
 
 

您可能感兴趣的文章:

  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • 内核中inet_ntoa包含在哪个文件头中的。。。。。在线等
  • (菜鸟飞飞,在线等)问个关于内核调试的问题
  • 请各位推荐几本内核方面较好的书(在线等)
  • 请教内核ppp代码的内容——在线等
  • (在线等)linux内核安装问题
  • 关于内核时间与用户时间;我在线等你回复,所以你要告诉我!
  • 在线求助!关于如何使用“信号”的方式来响应键盘按下的消息!在线急盼回复! iis7站长之家
  • 编译了内核之后启动不了了(救命,在线等ing)
  • Redhat 8.0内核编译的问题,在线求救~~~~~~~~~~~~~~~~~~~~~~
  • 如何编译内核-在线等待,谁是给分,如果分数不够可以再加
  • 在线急等!!!!trap.s 和 trap.c 在Unix内核中起什么作用
  • 内核加载ramdisk失败(在线等,帮顶有分)
  • Linux7.3编译内核问题!在线等待立马给分!!!!!!!!
  • 内核补丁怎么打不上???用的是.diff文件。在线等。。。
  • 用cygwin编译内核模块的问题,急,在线等待!!
  • 【在线讨论】针对arm板编译内核出现问题
  • 有没有高手知道linux系统定制(最小化定制)的?(在线守候)请您提供一点相关资料,谢谢!
  • 如何代理SUN 的JAVA认证和考试,DJLIHAO@SINA.COM,请将相关协议发到此信箱。500分,在线等
  • 如何代理SUN 的JAVA认证和考试,DJLIHAO@SINA.COM,请将相关协议发到此信箱。500分,在线等
  • 如何代理SUN 的JAVA认证和考试,DJLIHAO@SINA.COM,请将相关协议发到此信箱。500分,在线等
  • 关于TOMCAT虚拟目录配置的简单问题,在线准备给分!(已经搜索过相关主题仍未解决)
  • linux配置双屏双输出相关问题<在线讨论>
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 简单的输入输出问题 在线等待 在线给分
  • 在线等,在线给分!(简单问题,急)
  • 在线等几个简单问题解答,答出一个在线加50分。
  • linux问题 secureCRT连接的问题 在线等急!~~
  • 关于red hat 8.0的问题,不够再给,(在线等)
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • 急!Linux下编程的问题(在线等)
  • 请教linux共享上网的问题!!!在线等,问题解决马上结贴
  • 装linux遇到问题,有高手在线帮忙吗?请发信息给我
  • FreeBSD安装问题!(在线等待)
  • 安装问题 急!!!在线等待
  • HP-UX重启后,FTP出现问题,在线等。。。。
  • 有关liunx启动的问题?在线等待!!!
  • (在线等)问一个u8和u16的问题
  • 有关日期,简单的问题!在线等!
  • jsp小问题(在线等待)
  • 在线等待!cmp的问题
  • Linux9.0下安装MySQL的问题(在线等)急!
  • vsftpd配置的奇怪问题,大侠帮忙!在线等!
  • jre的配置问题!在线等!
  • 基于Html5的mockups在线工具简介
  • 装MYSQL后启动错误! mysqld ended --在线急等!在线急等!在线急等!在线急等!-----
  • MyEclipse SVN插件SubEclipse 在线离线等几种安装方式介绍
  • 智能在线表单设计器 FreeForm智能在线表单设计器
  • Linux使用群24032501,保持20人在线,目标50人在线
  • 怎么用能让asp实现统计在线人数的功能。在线等待!!!帮忙送分!
  • 在线求教, 为什么不能开始除root之外的用户登录??...很急, 在线等
  • 我需要唯一用户在线,不能两个用户同时在线的JSP实现的设计文档
  • 在线等,在线给分!!!!!!!!!!
  • 在线求助!关于如何使用“信号”的方式来响应键盘按下的消息!在线急盼回复!
  • 如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3