节点1:服务器 mptcp-kmsg-server.txt
节点5:客户端 mptcp-kmsg-client.txt
节点5:客户端 可以正常发送 (112.26.0.5, 112.26.0.1) 数据包,
但是,不能发送 (112.26.[1-4].5, 112.26.[1-4].1) 数据包。
下面是 内核输出信息,分析这些信息,找原因。
---------------------------------------------------------------------------
112.26.0.1 (16783984)
112.26.1.1 (16849520)
112.26.2.1 (16915056)
112.26.3.1 (16980592)
112.26.4.1 (17046128)
112.26.0.5 (83892848)
112.26.1.5 (83958384)
112.26.2.5 (84023920)
112.26.3.5 (84089456)
112.26.4.5 (84154992)
---------------------------------------------------------------------------
# Neighbor Cache Entry States.
#define NUD_INCOMPLETE 0x01
#define NUD_REACHABLE 0x02
#define NUD_STALE 0x04
#define NUD_DELAY 0x08
#define NUD_PROBE 0x10
#define NUD_FAILED 0x20
/* Dummy states */
#define NUD_NOARP 0x40
#define NUD_PERMANENT 0x80
#define NUD_NONE 0x00
---------------------------------------------------------------------------
####################################################################################
# 第一次发送数据包 112.26.0.5 (83892848) --> 112.26.0.1 (16783984)
# 状态 (neigh->nud_state) 由 0 变 1 再变 2
#-----------------------------------------------------------------------------------
<6>[ 184.275390] mptcp: ip_output: --- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 184.275407] mptcp: ip_finish_output2: 111--- src_addr:83892848 dst_addr:16783984
<6>[ 184.275415] mptcp: ip_finish_output2: 222--- src_addr:83892848 dst_addr:16783984 (state:0)
<6>[ 184.275418] mptcp: dst_neigh_output: --- 111 (state:0)
<6>[ 184.275421] mptcp: dst_neigh_output: --- 333 (state:0) call n->output(n, skb)
<6>[ 184.275425] mptcp: neigh_resolve_output: --- 111 src_addr:83892848 dst_addr:16783984 (state:0)
<6>[ 184.275428] mptcp: neigh_event_send: --- 222 (state:0) call __neigh_event_send()
<6>[ 184.275431] mptcp: __neigh_event_send: - 11 src_addr:83892848 dst_addr:16783984 (state:0)
<6>[ 184.275434] mptcp: __neigh_event_send: - 22-1 src_addr:83892848 dst_addr:16783984 (state:0)
<6>[ 184.275438] mptcp: __neigh_event_send: - 22-2 src_addr:83892848 dst_addr:16783984 (state:0)
<6>[ 184.275441] mptcp: __neigh_event_send: - 22-5 src_addr:83892848 dst_addr:16783984 (state:1)
<6>[ 184.275445] mptcp: __neigh_event_send: - 33 src_addr:83892848 dst_addr:16783984 (state:1) (return rc=1)
<6>[ 184.275455] mptcp: __dev_queue_xmit: - 1 src_addr:443610840 dst_addr:1280
<6>[ 184.275459] mptcp: __dev_queue_xmit: - 2 src_addr:443610840 dst_addr:1280
<6>[ 184.275566] mptcp: __dev_queue_xmit: - 8 src_addr:443610840 dst_addr:1280 (out, return 0)
<6>[ 184.275590] mptcp: neigh_resolve_output: --- 444 src_addr:83892848 dst_addr:16783984 (state:1) (return 0)
<6>[ 184.323037] mptcp: dst_neigh_output: --- 111 (state:40)
<6>[ 184.323045] mptcp: dst_neigh_output: --- 222 (state:40) call neigh_hh_output(hh, skb)
<6>[ 184.323049] mptcp: __dev_queue_xmit: - 1 src_addr:0 dst_addr:4280745994
<6>[ 184.323052] mptcp: __dev_queue_xmit: - 2 src_addr:0 dst_addr:4280745994
<6>[ 184.323177] mptcp: __dev_queue_xmit: - 8 src_addr:0 dst_addr:4280745994 (out, return 0)
<6>[ 185.277918] mptcp: __dev_queue_xmit: - 1 src_addr:443610840 dst_addr:1280
<6>[ 185.277962] mptcp: __dev_queue_xmit: - 2 src_addr:443610840 dst_addr:1280
<6>[ 185.278086] mptcp: __dev_queue_xmit: - 8 src_addr:443610840 dst_addr:1280 (out, return 0)
<6>[ 185.299543] mptcp: neigh_resolve_output: --- 111 src_addr:83892848 dst_addr:16783984 (state:2)
<6>[ 185.299577] mptcp: neigh_event_send: --- 111 (state:2)
<6>[ 185.299597] mptcp: neigh_resolve_output: --- 222 src_addr:83892848 dst_addr:16783984 (state:2)
<6>[ 185.299617] mptcp: __dev_queue_xmit: - 1 src_addr:83892848 dst_addr:16783984
<6>[ 185.299662] mptcp: __dev_queue_xmit: - 2 src_addr:83892848 dst_addr:16783984
<6>[ 185.299754] mptcp: __dev_queue_xmit: - 8 src_addr:83892848 dst_addr:16783984 (out, return 0)
<6>[ 185.299776] mptcp: neigh_resolve_output: --- 444 src_addr:83892848 dst_addr:16783984 (state:2) (return 0)
<6>[ 185.513966] mptcp: __dev_queue_xmit: - 1 src_addr:443610840 dst_addr:525568
<6>[ 185.514036] mptcp: __dev_queue_xmit: - 2 src_addr:443610840 dst_addr:525568
<6>[ 185.514126] mptcp: __dev_queue_xmit: - 8 src_addr:443610840 dst_addr:525568 (out, return 0)
<6>[ 185.600558] mptcp: mptcp_add_sock: token 0x3b8cc3c4 pi 1, src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521, cnt_subflows now 1
<6>[ 185.600594] mptcp: tcp_send_ack(): call tcp_transmit_skb()
####################################################################################
# 第二次以后,发送数据包 112.26.0.5 (83892848) --> 112.26.0.1 (16783984)
# 状态 (neigh->nud_state) 都为 2
#-----------------------------------------------------------------------------------
# 第 2 次发送数据包
<6>[ 185.600598] mptcp: tcp_transmit_skb: 11
<6>[ 185.600607] mptcp: ip_local_out: ----- src_addr:112.26.0.5 dst_addr:112.26.0.1 (sk)
<6>[ 185.600610] mptcp: ip_local_out: ----- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600620] mptcp: ip_output: --- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600626] mptcp: ip_finish_output2: 111--- src_addr:83892848 dst_addr:16783984
<6>[ 185.600631] mptcp: ip_finish_output2: 222--- src_addr:83892848 dst_addr:16783984 (state:2)
<6>[ 185.600633] mptcp: dst_neigh_output: --- 111 (state:2)
<6>[ 185.600636] mptcp: dst_neigh_output: --- 222 (state:2) call neigh_hh_output(hh, skb)
<6>[ 185.600640] mptcp: __dev_queue_xmit: - 1 src_addr:83892848 dst_addr:16783984
<6>[ 185.600644] mptcp: __dev_queue_xmit: - 2 src_addr:83892848 dst_addr:16783984
<6>[ 185.600682] mptcp: __dev_queue_xmit: - 8 src_addr:83892848 dst_addr:16783984 (out, return 0)
<6>[ 185.600685] mptcp: tcp_transmit_skb: 22 -- err: 0
<6>[ 185.600689] mptcp: tcp_transmit_skb: 22 -- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600693] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(94) - data_len(0) (sk)
<6>[ 185.600696] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(94) - data_len(0) (tp)
<6>[ 185.600703] mptcp: full_mesh_new_session: i = 124
<6>[ 185.600706] mptcp: full_mesh_new_session: locaddr0 = 0.0.0.0
<6>[ 185.600709] mptcp: full_mesh_new_session: locaddr1 = 112.26.0.5
<6>[ 185.600712] mptcp: full_mesh_new_session: locaddr2 = 112.26.1.5
<6>[ 185.600714] mptcp: full_mesh_new_session: locaddr3 = 112.26.2.5
<6>[ 185.600717] mptcp: full_mesh_new_session: locaddr4 = 112.26.3.5
<6>[ 185.600720] mptcp: full_mesh_new_session: locaddr5 = 112.26.4.5
<6>[ 185.600723] mptcp: full_mesh_new_session: locaddr6 = 112.26.0.5
<6>[ 185.600726] mptcp: full_mesh_new_session: locaddr7 = 0.0.0.0
<6>[ 185.600732] mptcp: tcp_send_ack(): call tcp_transmit_skb()
# 第 3 次发送数据包
<6>[ 185.600734] mptcp: tcp_transmit_skb: 11
<6>[ 185.600739] mptcp: ip_local_out: ----- src_addr:112.26.0.5 dst_addr:112.26.0.1 (sk)
<6>[ 185.600742] mptcp: ip_local_out: ----- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600749] mptcp: ip_output: --- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600753] mptcp: ip_finish_output2: 111--- src_addr:83892848 dst_addr:16783984
<6>[ 185.600757] mptcp: ip_finish_output2: 222--- src_addr:83892848 dst_addr:16783984 (state:2)
<6>[ 185.600760] mptcp: dst_neigh_output: --- 111 (state:2)
<6>[ 185.600763] mptcp: dst_neigh_output: --- 222 (state:2) call neigh_hh_output(hh, skb)
<6>[ 185.600766] mptcp: __dev_queue_xmit: - 1 src_addr:83892848 dst_addr:16783984
<6>[ 185.600769] mptcp: __dev_queue_xmit: - 2 src_addr:83892848 dst_addr:16783984
<6>[ 185.600793] mptcp: __dev_queue_xmit: - 8 src_addr:83892848 dst_addr:16783984 (out, return 0)
<6>[ 185.600796] mptcp: tcp_transmit_skb: 22 -- err: 0
<6>[ 185.600799] mptcp: tcp_transmit_skb: 22 -- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600803] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(82) - data_len(0) (sk)
<6>[ 185.600804] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(82) - data_len(0) (tp)
<6>[ 185.600897] mptcp: tcp_send_ack(): call tcp_transmit_skb()
# 第 4 次发送数据包
<6>[ 185.600900] mptcp: tcp_transmit_skb: 11
<6>[ 185.600907] mptcp: ip_local_out: ----- src_addr:112.26.0.5 dst_addr:112.26.0.1 (sk)
<6>[ 185.600910] mptcp: ip_local_out: ----- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600919] mptcp: ip_output: --- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600925] mptcp: ip_finish_output2: 111--- src_addr:83892848 dst_addr:16783984
<6>[ 185.600932] mptcp: ip_finish_output2: 222--- src_addr:83892848 dst_addr:16783984 (state:2)
<6>[ 185.600938] mptcp: dst_neigh_output: --- 111 (state:2)
<6>[ 185.600941] mptcp: dst_neigh_output: --- 222 (state:2) call neigh_hh_output(hh, skb)
<6>[ 185.600945] mptcp: __dev_queue_xmit: - 1 src_addr:83892848 dst_addr:16783984
<6>[ 185.600949] mptcp: __dev_queue_xmit: - 2 src_addr:83892848 dst_addr:16783984
<6>[ 185.600977] mptcp: __dev_queue_xmit: - 8 src_addr:83892848 dst_addr:16783984 (out, return 0)
<6>[ 185.600981] mptcp: tcp_transmit_skb: 22 -- err: 0
<6>[ 185.600985] mptcp: tcp_transmit_skb: 22 -- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.600989] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(82) - data_len(0) (sk)
<6>[ 185.600993] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(82) - data_len(0) (tp)
<6>[ 185.600998] mptcp: tcp_send_ack(): call tcp_transmit_skb()
# 第 5 次发送数据包
<6>[ 185.601001] mptcp: tcp_transmit_skb: 11
<6>[ 185.601005] mptcp: ip_local_out: ----- src_addr:112.26.0.5 dst_addr:112.26.0.1 (sk)
<6>[ 185.601008] mptcp: ip_local_out: ----- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.601014] mptcp: ip_output: --- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.601018] mptcp: ip_finish_output2: 111--- src_addr:83892848 dst_addr:16783984
<6>[ 185.601021] mptcp: ip_finish_output2: 222--- src_addr:83892848 dst_addr:16783984 (state:2)
<6>[ 185.601024] mptcp: dst_neigh_output: --- 111 (state:2)
<6>[ 185.601027] mptcp: dst_neigh_output: --- 222 (state:2) call neigh_hh_output(hh, skb)
<6>[ 185.601031] mptcp: __dev_queue_xmit: - 1 src_addr:83892848 dst_addr:16783984
<6>[ 185.601034] mptcp: __dev_queue_xmit: - 2 src_addr:83892848 dst_addr:16783984
<6>[ 185.601053] mptcp: __dev_queue_xmit: - 8 src_addr:83892848 dst_addr:16783984 (out, return 0)
<6>[ 185.601056] mptcp: tcp_transmit_skb: 22 -- err: 0
<6>[ 185.601059] mptcp: tcp_transmit_skb: 22 -- src_addr:83892848 dst_addr:16783984 (skb)
<6>[ 185.601063] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(82) - data_len(0) (sk)
<6>[ 185.601067] mptcp: tcp_transmit_skb: 22 -- src_addr:112.26.0.5:53318 dst_addr:112.26.0.1:33521 -- len(82) - data_len(0) (tp)
<6>[ 185.601072] mptcp: tcp_send_ack(): call tcp_transmit_skb()