注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

linux内核sctp代码之连接状态改变,systemtap脚本  

2014-11-25 17:04:37|  分类: linux相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
修改状态其实是使用这样代码,往某个命令序列插入状态修改执行,然后调用状态机处理函数sctp_do_sm执行状态变化

 sctp_add_cmd_sf(commands, SCTP_CMD_NEW_STATE,
                 SCTP_STATE(SCTP_STATE_CLOSED));


http://lxr.free-electrons.com/source/net/sctp/sm_sideeffect.c

/*
 * This is the master state machine processing function.
 *
 * If you want to understand all of lksctp, this is a
 * good place to start.
 */
sctp_do_sm
  sctp_side_effects
    sctp_cmd_interpreter
      sctp_cmd_new_state


应该用个systemtap脚本 监控sctp_cmd_new_state 就可以知道状态怎么变的啦?


sctp模块源码大体结构
=====================
http://lxr.free-electrons.com/source/net/sctp/

associola.c      //sctp协议的 association的相关逻辑
      比如sctp_rcv接受到一个data chunk 就会把数据放到inqueue队列
      里面然后安排软中断处理函数 sctp_assoc_bh_rcv 进行处理
      进来的chunk, 然后  sctp_do_sm 执行状态机处理
endpointola.c       // sctp协议的endpoint 相关逻辑
input.c             // 从网络协议栈上了的包先到 sctp_rcv函数,然后
      找对应的association, 如果找到就把chunk加到 asoc的队列,
      找不到就是out of the blue packet,可能进行abort操作等
inqueue.c           // queue相关操作
output.c
outqueue.c
proc.c              // /poc/net/sctp/snmp  的统计那些?
sm_sideeffect.c     // 状态机的主要处理函数
     所有状态步骤都经过sctp_do_sm 函数进行,通过 sctp_add_cmd_sf 函数往命令
     队列增加某个动作执行请求。 这个状态机的时间还是可以看看参考一下的吧。
sm_statefuns.c      // 各个状体机的 状态变化处理函数
sm_statetable.c     // 状态机的  状体变化定义
socket.c            // sctp_recvmsg   sctp_shutdown  sctp_close等socket操作函数
transport.c         // sctp 协议transport概念相关



上发消息的大概处理流程
=====================
sctp_rcv
  sctp_assoc_bh_rcv
    sctp_do_sm



所有状态记录经过
================
sctp_do_sm
    sctp_add_cmd_sf    在这里看监控连接的执行的没一步动作
      sctp_cmd_new_state   这个association的真正的状态改变


用systemtap跟踪上面几个函数,然后打印函数调用栈 backtrace就可以知道
sctp的连接状态到底怎么变化的了。


sytemtap脚本   sctp_state_monitor.stp 

#! /usr/bin/env stap

probe begin
{
printf("Start SCTP state monitor Probing.....\n\n")
}

probe module("sctp").function("sctp_add_cmd_sf")
{
printf (" sctp_add_cmd_sf verb= %d\n", $verb)
/* print_backtrace() */

if (0) {

if ($verb == 3) // SCTP_CMD_NEW_STATE
{
printf("sctp_add_cmd_sf: seq %p, new_state= %d\n",$seq, $obj->state)
printf("kernel backtrace:\n")
print_backtrace()
}

if ($verb == 39) // SCTP_CMD_ASSOC_FAILED
/* if ($verb == 7) // SCTP_CMD_INIT_FAILED */
{
printf("sctp_add_cmd_sf: seq %p, SCTP_CMD_ASSOC_FAILED\n",$seq)
printf("kernel backtrace:\n")
print_backtrace()
}

}
}

probe module("sctp").function("sctp_cmd_new_state")
{
printf("sctp_cmd_new_state: asoc %p,assoc_id=%d, port=%d, new_state= %d\n",$asoc, $asoc->assoc_id, $asoc->peer->port, $state)

/* printf("backtrace:\n%s\n\n", backtrace()) */

/* printf("kernel backtrace:\n") */
/* print_backtrace() */
/* printf("use space backtrace:\n") */
/* print_ubacktrace() */
}


probe module("sctp").function("sctp_recvmsg").return
{
printf("sctp_recvmsg: return=%d\n", $return)
}

probe module("sctp").function("sctp_shutdown")
{
printf("sctp_shutdown: \n")
}

probe module("sctp").function("sctp_close")
{
printf("sctp_close: \n")
}

probe module("sctp").function("sctp_sf_ootb")
{
printf("sctp_sf_outb: asoc=%p\n", $asoc)
}

probe module("sctp").function("sctp_association_destroy")
{
printf("sctp_association_destroy: asoc=%p\n", $asoc)
}

probe module("sctp").function("sctp_association_free")
{
printf("sctp_association_free asoc=%p\n", $asoc)
}

probe module("sctp").function("sctp_association_new").return
{
printf("sctp_association_new: asoc=%p\n", $return)
}

probe module("sctp").function("sctp_do_sm")
{
printf("sctp_do_sm asoc=%p, state=%d\n", $asoc, $state)
}
/*
probe module("sctp").function("sctp_make_abort")
{
printf("sctp_make_abort asoc=%p\n", $asoc)
}

*/



下面是一个测试的结构。    两台虚拟机的sctp连接,  但virtualbox上面各有一个nat的网卡,分配的ip地址竟然是一样的。
两台机器有个ip通路,建立sctp连接connect也是使用多个multipath的 ip地址,但因为这个  nat 网卡ip 地址两台机器一样的问题。导致发送hearbeat包时使用到这ip,本来是想法到对端的,结构发送给自己lo接口了。然后本机收上来自然是找不到对应association,就认为是out of the blue packets  (/proc/net/sctp/snmp有统计), 就回复Abort 包,Abort又回到heartbeat的起始端,之后动作就是 断开sctp连接。 程序异常,sctp_recvmsg返回  connection reset by peer错误。

详细的log:






sctp_cmd_new_state: asoc 0xf42f2000,assoc_id=14, port=38392, new_state= 3
sctp_recvmsg: return=168
sctp_recvmsg: return=80
sctp_recvmsg: return=92
sctp_recvmsg: return=80
sctp_recvmsg: return=80
sctp_recvmsg: return=92
sctp_recvmsg: return=92
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=148
sctp_recvmsg: return=-11 // EAGAIN
sctp_cmd_new_state: asoc 0xf42f2000,assoc_id=14, port=38392, new_state= 0
sctp_recvmsg: return=-104 // connection reset by peer



http://lxr.free-electrons.com/source/include/uapi/asm-generic/errno-base.h
#define EAGAIN 11 /* Try again */

http://lxr.free-electrons.com/source/include/uapi/asm-generic/errno.h
#define ECONNRESET 104 /* Connection reset by peer */


/* SCTP state defines for internal state machine */
typedef enum {

SCTP_STATE_CLOSED = 0,
SCTP_STATE_COOKIE_WAIT = 1,
SCTP_STATE_COOKIE_ECHOED = 2,
SCTP_STATE_ESTABLISHED = 3,
SCTP_STATE_SHUTDOWN_PENDING = 4,
SCTP_STATE_SHUTDOWN_SENT = 5,
SCTP_STATE_SHUTDOWN_RECEIVED = 6,
SCTP_STATE_SHUTDOWN_ACK_SENT = 7,

} sctp_state_t;






case SCTP_CMD_ASSOC_FAILED:
sctp_cmd_assoc_failed()



同样的过程,不同视角

p# stap -v sctp_state_monitor.stp
Pass 1: parsed user script and 96 library script(s) using 24764virt/15468res/2208shr/13924data kb, in 100usr/0sys/97real ms.
Pass 2: analyzed script: 6 probe(s), 9 function(s), 0 embed(s), 0 global(s) using 177328virt/25164res/7016shr/15288data kb, in 220usr/10sys/235real ms.
Pass 3: translated to C into "/tmp/staph3sbvH/stap_6fee941c52e686e1e8864c4397b11576_7008_src.c" using 177140virt/24308res/6100shr/15100data kb, in 210usr/20sys/230real ms.
Pass 4: compiled C into "stap_6fee941c52e686e1e8864c4397b11576_7008.ko" in 1290usr/30sys/1559real ms.
Pass 5: starting run.
Start SCTP state monitor Probing.....

sctp_add_cmd_sf: seq 0xf5809cdc, new_state= 3
kernel backtrace:
0xf865bc50 : sctp_add_cmd_sf+0x0/0x30 [sctp]
0xf8649b98 : sctp_sf_do_5_1D_ce+0x378/0x500 [sctp]
0xf864e56d : sctp_do_sm+0x6d/0x12c0 [sctp]
0xf865133b : sctp_endpoint_bh_rcv+0xfb/0x1f0 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1094c59 (inexact)
0xc13371ff (inexact)
0xf82d1291 [virtio_net] (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_cmd_new_state: asoc 0xf43fe000,assoc_id=334, port=54151, new_state= 3
kernel backtrace:
0xf864e7a4 : sctp_do_sm+0x2a4/0x12c0 [sctp]
0xf865133b : sctp_endpoint_bh_rcv+0xfb/0x1f0 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1094c59 (inexact)
0xc13371ff (inexact)
0xf82d1291 [virtio_net] (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_recvmsg: return=168
sctp_recvmsg: return=80
sctp_recvmsg: return=92
sctp_recvmsg: return=80
sctp_recvmsg: return=80
sctp_recvmsg: return=92
sctp_recvmsg: return=92
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_add_cmd_sf: seq 0xf5809d2c, SCTP_CMD_ASSOC_FAILED
kernel backtrace:
0xf865bc50 : sctp_add_cmd_sf+0x0/0x30 [sctp]
0xf8648c8e : __sctp_sf_do_9_1_abort.isra.25+0xce/0x100 [sctp]
0xf864ca7a : sctp_sf_do_9_1_abort+0xba/0x100 [sctp]
0xf864e56d : sctp_do_sm+0x6d/0x12c0 [sctp]
0xf8651f84 : sctp_assoc_bh_rcv+0xc4/0x140 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1058400 (inexact)
0xc1072306 (inexact)
0xc133782b (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_add_cmd_sf: seq 0xf5809d2c, new_state= 0
kernel backtrace:
0xf865bc50 : sctp_add_cmd_sf+0x0/0x30 [sctp]
0xf864f083 : sctp_do_sm+0xb83/0x12c0 [sctp]
0xf8651f84 : sctp_assoc_bh_rcv+0xc4/0x140 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1058400 (inexact)
0xc1072306 (inexact)
0xc133782b (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_cmd_new_state: asoc 0xf43fe000,assoc_id=334, port=54151, new_state= 0
kernel backtrace:
0xf864e7a4 : sctp_do_sm+0x2a4/0x12c0 [sctp]
0xf8651f84 : sctp_assoc_bh_rcv+0xc4/0x140 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1058400 (inexact)
0xc1072306 (inexact)
0xc133782b (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_recvmsg: return=-104
sctp_shutdown:
sctp_close:


SCTP_PRIMITIVE_ABORT












---------------------------------------



sctp_add_cmd_sf verb= 1
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 2
sctp_add_cmd_sf verb= 1
sctp_add_cmd_sf verb= 3
sctp_add_cmd_sf: seq 0xf5809cdc, new_state= 3
kernel backtrace:
0xf865bc50 : sctp_add_cmd_sf+0x0/0x30 [sctp]
0xf8649b98 : sctp_sf_do_5_1D_ce+0x378/0x500 [sctp]
0xf864e56d : sctp_do_sm+0x6d/0x12c0 [sctp]
0xf865133b : sctp_endpoint_bh_rcv+0xfb/0x1f0 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1094c59 (inexact)
0xc13371ff (inexact)
0xf82d1291 [virtio_net] (inexact)
0xc140bd74 (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_add_cmd_sf verb= 30
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 11
sctp_cmd_new_state: asoc 0xf42c7800,assoc_id=364, port=41167, new_state= 3
kernel backtrace:
0xf864e7a4 : sctp_do_sm+0x2a4/0x12c0 [sctp]
0xf865133b : sctp_endpoint_bh_rcv+0xfb/0x1f0 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1094c59 (inexact)
0xc13371ff (inexact)
0xf82d1291 [virtio_net] (inexact)
0xc140bd74 (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 21
sctp_recvmsg: return=168
sctp_add_cmd_sf verb= 62
sctp_add_cmd_sf verb= 62
sctp_add_cmd_sf verb= 6
sctp_add_cmd_sf verb= 6
sctp_add_cmd_sf verb= 11
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 20
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 21
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 20
sctp_recvmsg: return=80
sctp_recvmsg: return=92
sctp_recvmsg: return=80
sctp_add_cmd_sf verb= 62
sctp_add_cmd_sf verb= 62
sctp_add_cmd_sf verb= 6
sctp_add_cmd_sf verb= 11
sctp_add_cmd_sf verb= 10 SCTP_CMD_CHUNK_ULP, /* Send a chunk to the sockets layer. */
sctp_add_cmd_sf verb= 5 SCTP_CMD_GEN_SACK, /* Send a Selective ACK (maybe). */
sctp_add_cmd_sf verb= 20 SCTP_CMD_TIMER_RESTART, /* Restart a timer. */
sctp_recvmsg: return=80
sctp_add_cmd_sf verb= 62 SCTP_CMD_SEND_MSG, /* Send the whole use message */
sctp_recvmsg: return=-11
sctp_add_cmd_sf verb= 6 SCTP_CMD_PROCESS_SACK, /* Process an inbound SACK. */
sctp_add_cmd_sf verb= 11 SCTP_CMD_EVENT_ULP, /* Send a notification to the sockets layer. */
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11


开始发heartbeat 包
sctp_add_cmd_sf verb= 45 SCTP_CMD_RTO_PENDING, /* Set transport's rto_pending. */
sctp_add_cmd_sf verb= 12 SCTP_CMD_REPLY, /* Send a chunk to our peer. */
sctp_add_cmd_sf verb= 33 SCTP_CMD_TRANSPORT_HB_SENT, /* Reset the status of a transport. */
sctp_add_cmd_sf verb= 34 SCTP_CMD_TRANSPORT_IDLE, /* Do manipulations on idle transport */
sctp_add_cmd_sf verb= 31 SCTP_CMD_HB_TIMER_UPDATE, /* Update a heartbeat timers. */
 

打印堆栈可以看到包错误的法到本机,被认为为是out of the blue包处理,并发abort

sctp_add_cmd_sf verb= 13 SCTP_CMD_SEND_PKT, /* Send a full packet to our peer. */
sctp_add_cmd_sf verb= 40 SCTP_CMD_DISCARD_PACKET, /* Discard the whole packet. */
再收到abort包,标记网络错误,断开连接 

sctp_add_cmd_sf verb= 56 SCTP_CMD_SET_SK_ERR, /* Set sk_err */
sctp_add_cmd_sf verb= 39 SCTP_CMD_ASSOC_FAILED, /* Handle association failure. */
sctp_add_cmd_sf: seq 0xf5809d2c, SCTP_CMD_ASSOC_FAILED
kernel backtrace:
0xf865bc50 : sctp_add_cmd_sf+0x0/0x30 [sctp]
0xf8648c8e : __sctp_sf_do_9_1_abort.isra.25+0xce/0x100 [sctp]
0xf864ca7a : sctp_sf_do_9_1_abort+0xba/0x100 [sctp]
0xf864e56d : sctp_do_sm+0x6d/0x12c0 [sctp]
0xf8651f84 : sctp_assoc_bh_rcv+0xc4/0x140 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1058503 (inexact)
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1058400 (inexact)
0xc133782b (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_add_cmd_sf verb= 11
sctp_add_cmd_sf verb= 3
sctp_add_cmd_sf: seq 0xf5809d2c, new_state= 0
kernel backtrace:
0xf865bc50 : sctp_add_cmd_sf+0x0/0x30 [sctp]
0xf864f083 : sctp_do_sm+0xb83/0x12c0 [sctp]
0xf8651f84 : sctp_assoc_bh_rcv+0xc4/0x140 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1058503 (inexact)
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1058400 (inexact)
0xc133782b (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_add_cmd_sf verb= 2
sctp_cmd_new_state: asoc 0xf42c7800,assoc_id=364, port=41167, new_state= 0
kernel backtrace:
0xf864e7a4 : sctp_do_sm+0x2a4/0x12c0 [sctp]
0xf8651f84 : sctp_assoc_bh_rcv+0xc4/0x140 [sctp]
0xf8658c43 : sctp_inq_push+0x33/0x40 [sctp]
0xf866520d : sctp_rcv+0x81d/0x8c0 [sctp]
0xc1365120
0xc1058503 (inexact)
0xc1364e2b (inexact)
0xc1336f9d (inexact)
0xc1058400 (inexact)
0xc133782b (inexact)
0xc133880d (inexact)
0xc10521fa (inexact)
0xc1052150 (inexact)
sctp_recvmsg: return=-104
sctp_shutdown:
sctp_close:
sctp_add_cmd_sf verb= 13
sctp_add_cmd_sf verb= 40








--------------------------------------------------------
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap#
root@debian02:/home/bright/systemtap# stap -v sctp_state_monitor.stp
Pass 1: parsed user script and 96 library script(s) using 24760virt/15460res/2208shr/13920data kb, in 90usr/0sys/99real ms.
Pass 2: analyzed script: 12 probe(s), 11 function(s), 0 embed(s), 0 global(s) using 177748virt/25656res/7048shr/15708data kb, in 220usr/30sys/238real ms.
Pass 3: translated to C into "/tmp/stapsB1WPx/stap_d5c3c0fcab3dc9ebc95c7b7a00e628de_10147_src.c" using 177396virt/24464res/6096shr/15356data kb, in 190usr/20sys/220real ms.
Pass 4: compiled C into "stap_d5c3c0fcab3dc9ebc95c7b7a00e628de_10147.ko" in 940usr/30sys/1210real ms.
Pass 5: starting run.
Start SCTP state monitor Probing.....

sctp_do_sm asoc=0x0, state=0
sctp_association_new: asoc=0xf426e800
sctp_add_cmd_sf verb= 1
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 2
sctp_association_free asoc=0xf426e800
sctp_association_destroy: asoc=0xf426e800
sctp_association_destroy: asoc=0xf426e800
sctp_do_sm asoc=0x0, state=0
sctp_association_new: asoc=0xf426e800
sctp_add_cmd_sf verb= 1
sctp_add_cmd_sf verb= 3
sctp_add_cmd_sf verb= 30
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 11
sctp_cmd_new_state: asoc 0xf426e800,assoc_id=454, port=35249, new_state= 3
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 21
sctp_recvmsg: return=168
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 6
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 6
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 11
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 20
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 21
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 20
sctp_recvmsg: return=80
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_recvmsg: return=92
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_recvmsg: return=80
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 6
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 6
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 11
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 20
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 21
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 10
sctp_add_cmd_sf verb= 5
sctp_add_cmd_sf verb= 20
sctp_recvmsg: return=80
sctp_recvmsg: return=92
sctp_recvmsg: return=92
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 62
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 6
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 45
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 33
sctp_add_cmd_sf verb= 34
sctp_add_cmd_sf verb= 31
sctp_do_sm asoc=0xf426e800, state=3
sctp_add_cmd_sf verb= 35
sctp_recvmsg: return=148
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_recvmsg: return=-11
sctp_do_sm asoc=0xf426e800, state=3 //发送 heartbea要做的动作,对应的asoc
sctp_add_cmd_sf verb= 45
sctp_add_cmd_sf verb= 12
sctp_add_cmd_sf verb= 33
sctp_add_cmd_sf verb= 34
sctp_add_cmd_sf verb= 31
sctp_do_sm asoc=0x0, state=0
sctp_sf_outb: asoc=0x0 /// out of the blue包没有对应的asoc
sctp_add_cmd_sf verb= 13
sctp_add_cmd_sf verb= 40
sctp_do_sm asoc=0xf426e800, state=3 /// 收到回复的abort,断开asoc
sctp_add_cmd_sf verb= 56
sctp_add_cmd_sf verb= 39
sctp_add_cmd_sf verb= 11
sctp_add_cmd_sf verb= 3
sctp_add_cmd_sf verb= 2
sctp_cmd_new_state: asoc 0xf426e800,assoc_id=454, port=35249, new_state= 0
sctp_association_free asoc=0xf426e800
sctp_association_destroy: asoc=0xf426e800
sctp_association_destroy: asoc=0xf426e800
sctp_recvmsg: return=-104
sctp_shutdown:
sctp_close:
sctp_do_sm asoc=0x0, state=0
sctp_sf_outb: asoc=0x0
sctp_add_cmd_sf verb= 13
sctp_add_cmd_sf verb= 40






  评论这张
 
阅读(996)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017