netfilter钩子函数打印WARNING: at net/core/dev.c:2253 skb_warn_bad_offload+0xcd/0xda()

MrZuoxZuo 2016-06-08 03:56:29
最近在开发一个机遇netfilter钩子函数的NAT模块,将网卡上的数据包补下来修改IP和端口再发出去。用dmesg打印内核输出信息事后发现总会大量出现下面这个错误信息,由于以前没有相关知识的开发经验,请问各位大大,是什么问题,应该如何下手解决,是频繁kmalloc和使用自旋锁的问题么?信息中out_hook和in_hook是我自己加载的钩子函数。
[422437.550595] ------------[ cut here ]------------
[422437.550605] WARNING: at net/core/dev.c:2253 skb_warn_bad_offload+0xcd/0xda()
[422437.550609] : caps=(0x00000e0007db78e9, 0x0000000000000000) len=2974 data_len=0 gso_size=1460 gso_type=1 ip_summed=0
[422437.550612] Modules linked in: xt_nat out_hook(OE) in_hook(OE) veth ext4 mbcache jbd2 xt_addrtype dm_thin_pool dm_persistent_data dm_bio_prison dm_bufio loop xt_CHECKSUM ipt_MASQUERADE nf_nat_masquerade_ipv4 tun ip6t_rpfilter ip6t_REJECT ipt_REJECT xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw iptable_filter intel_powerclamp coretemp kvm_intel kvm crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd sg iTCO_wdt iTCO_vendor_support lpc_ich pcspkr shpchp i2c_i801 i7core_edac edac_core
[422437.550659] mfd_core acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ip_tables xfs libcrc32c sd_mod crc_t10dif crct10dif_generic ata_generic pata_acpi igb crct10dif_pclmul crct10dif_common ata_piix crc32c_intel mptsas ptp serio_raw pps_core libata scsi_transport_sas i2c_algo_bit mptscsih i2c_core bnx2 mptbase dca dm_mirror dm_region_hash dm_log dm_mod [last unloaded: docker_hook]
[422437.550688] CPU: 16 PID: 0 Comm: swapper/16 Tainted: G W OE ------------ 3.10.0-327.el7.x86_64 #1
[422437.550691] Hardware name: Huawei Technologies Co., Ltd. Tecal RH1285 /BC11BTSA , BIOS CTSAV036 04/27/2011
[422437.550695] ffff880237d439e0 abc60d985e4144fe ffff880237d43998 ffffffff816351f1
[422437.550701] ffff880237d439d0 ffffffff8107b200 ffff8801b10c8600 ffff8800b9f6e000
[422437.550707] 0000000000000001 0000000000000000 ffff880079d6f04e ffff880237d43a38
[422437.550712] Call Trace:
[422437.550715] <IRQ> [<ffffffff816351f1>] dump_stack+0x19/0x1b
[422437.550724] [<ffffffff8107b200>] warn_slowpath_common+0x70/0xb0
[422437.550730] [<ffffffff8107b29c>] warn_slowpath_fmt+0x5c/0x80
[422437.550735] [<ffffffff812f92f3>] ? ___ratelimit+0x93/0x100
[422437.550739] [<ffffffff81637f49>] skb_warn_bad_offload+0xcd/0xda
[422437.550744] [<ffffffff8152bfc9>] __skb_gso_segment+0x79/0xb0
[422437.550749] [<ffffffff8152c345>] validate_xmit_skb.part.86+0x135/0x2f0
[422437.550753] [<ffffffff8152cd8d>] dev_queue_xmit+0x4dd/0x570
[422437.550758] [<ffffffff8163cb5b>] ? _raw_spin_unlock_bh+0x1b/0x40
[422437.550766] [<ffffffffa0560286>] isrc_hook+0x286/0xcc0 [in_hook]
[422437.550772] [<ffffffff81560a48>] ? ip_error+0x68/0x1b0
[422437.550777] [<ffffffff8155c750>] nf_iterate+0x70/0xb0
[422437.550781] [<ffffffff8155c838>] nf_hook_slow+0xa8/0x110
[422437.550786] [<ffffffff815662e7>] ip_rcv+0x337/0x410
[422437.550790] [<ffffffff81565850>] ? inet_del_offload+0x40/0x40
[422437.550796] [<ffffffff8152a882>] __netif_receive_skb_core+0x582/0x7d0
[422437.550801] [<ffffffff8101c829>] ? read_tsc+0x9/0x10
[422437.550805] [<ffffffff8152aae8>] __netif_receive_skb+0x18/0x60
[422437.550810] [<ffffffff8152ab70>] netif_receive_skb+0x40/0xc0
[422437.550814] [<ffffffff8152ac8d>] napi_gro_complete+0x7d/0x100
[422437.550818] [<ffffffff8152ad7d>] napi_gro_flush+0x6d/0x90
...全文
1819 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
何以解忧_ziyan 2017-12-05
  • 打赏
  • 举报
回复
这是网卡开了large-receive-offload特性,将这个参数关闭就好了 ethtool -k ethX # ethtool -K ethX lro off # ethtool -K ethX gro off 希望有用
  • 打赏
  • 举报
回复
我也遇到了,楼主问题解决了吗?

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧