首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VPN TX分组丢弃

VPN TX分组丢弃
EN

Server Fault用户
提问于 2019-12-10 13:26:31
回答 1查看 709关注 0票数 2

我已经在两个对等点之间建立了一个有线VPN。在高负载下,我经历了单个数据包下降高峰,每包50到1500包(参见出站滴wg0 0)。这种情况只发生在一台服务器上。

代码语言:javascript
复制
# netstat -i
Kernel Interface table
Iface      MTU      RX-OK RX-ERR RX-DRP RX-OVR      TX-OK TX-ERR TX-DRP TX-OVR Flg
eno1      1500 2079788141      0      0   1572 3128566305      0      0      0 BMRU
wg0       1420  538066564     46      0      0  810751810      0  26374      0 OPRU
...
# ip a s eno1 
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ab:cd:ef:fe:dc:ba brd ff:ff:ff:ff:ff:ff
    ...
# ip a s wg0
83: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    ...
...

我使用了dropwatch和perf记录来找出内核为什么丢弃这些数据包。

代码语言:javascript
复制
perf:
kworker/2:2-wg- 32301 [002] 541917.031566: skb:kfree_skb: skbaddr=0xffff9f378059d000 protocol=2048 location=0xffffffffaf
        ffffffffaf3fb324 kfree_skb+0x74 ([kernel.kallsyms])
        ffffffffaf3fb324 kfree_skb+0x74 ([kernel.kallsyms])
        ffffffffaf3fb363 kfree_skb_list+0x13 ([kernel.kallsyms])
        ffffffffaf412778 __dev_queue_xmit+0x888 ([kernel.kallsyms])
        ffffffffaf489c6f ip_finish_output2+0x2cf ([kernel.kallsyms])
        ffffffffaf48b8d9 ip_output+0x69 ([kernel.kallsyms])
        ffffffffaf4dcb7d iptunnel_xmit+0x15d ([kernel.kallsyms])
        ffffffffc10a3777 send4+0x127 ([kernel.kallsyms])
        ffffffffc10a3e15 wg_socket_send_skb_to_peer+0x95 ([kernel.kallsyms])
        ffffffffc10a110f wg_packet_tx_worker+0xaf ([kernel.kallsyms])
        ffffffffaeea15b7 process_one_work+0x1a7 ([kernel.kallsyms])
        ffffffffaeea1c80 worker_thread+0x30 ([kernel.kallsyms])
        ffffffffaeea6f02 kthread+0x112 ([kernel.kallsyms])
        ffffffffaf600215 ret_from_fork+0x35 ([kernel.kallsyms])

dropwatch:
[2019-12-08 16:29:36.293087] 82 drops at kfree_skb_list+13 (0xffffffffaf3fb363)

我查看了内核源代码,我有几个问题

  • kfree_skb_list上下文中的用途是什么?
  • 这些数据包是在插入到eno1的txqueue或其他地方时丢弃的吗?
  • 可以调优哪些设置来解决这个问题?
EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-12-15 20:13:11

增加eno1接口的txqueuelen解决了我的问题。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/995040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档