在3.xLinux内核中,内核和uapi之间定义的sctp状态不同。这是错配还是我遗漏了什么?
在include/uapi/linux/sctp.h中
/* Association states. */
enum sctp_sstat_state {
SCTP_EMPTY = 0,
SCTP_CLOSED = 1,
SCTP_COOKIE_WAIT = 2,
SCTP_COOKIE_ECHOED = 3,
SCTP_ESTABLISHED = 4,
SCTP_SHUTDOWN_PENDING = 5,
SCTP_SHUTDOWN_SENT = 6,
SCTP_SHUTDOWN_RECEIVED = 7,
SCTP_SHUTDOWN_ACK_SENT = 8,
};包括/net/sctp/constants.h
/* 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;看起来SCTP_STATE_EMPTY被这个修补程序删除了:http://lists.openwall.net/netdev/2011/04/20/31
发布于 2014-08-28 12:11:56
我在sctp开发邮件列表上发布了这个问题,内核开发人员确认这是不匹配的。
希望这个问答对其他人还是有价值的,所以我自己回答。
https://stackoverflow.com/questions/25501554
复制相似问题