diff options
Diffstat (limited to 'net/sctp/sm_statetable.c')
| -rw-r--r-- | net/sctp/sm_statetable.c | 78 | 
1 files changed, 1 insertions, 77 deletions
diff --git a/net/sctp/sm_statetable.c b/net/sctp/sm_statetable.c index 546d4387fb3..0338dc6fdc9 100644 --- a/net/sctp/sm_statetable.c +++ b/net/sctp/sm_statetable.c @@ -107,8 +107,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  #define TYPE_SCTP_FUNC(func) {.fn = func, .name = #func}  #define TYPE_SCTP_DATA { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -128,8 +126,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_DATA */  #define TYPE_SCTP_INIT { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_do_5_1B_init), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -149,8 +145,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_INIT */  #define TYPE_SCTP_INIT_ACK { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_do_5_2_3_initack), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -170,8 +164,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_INIT_ACK */  #define TYPE_SCTP_SACK { \ -	/*  SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -191,8 +183,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_SACK */  #define TYPE_SCTP_HEARTBEAT { \ -	/*  SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -213,8 +203,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_HEARTBEAT */  #define TYPE_SCTP_HEARTBEAT_ACK { \ -	/*  SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -234,8 +222,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_HEARTBEAT_ACK */  #define TYPE_SCTP_ABORT { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_pdiscard), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -255,8 +241,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_ABORT */  #define TYPE_SCTP_SHUTDOWN { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -276,8 +260,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_SHUTDOWN */  #define TYPE_SCTP_SHUTDOWN_ACK { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -297,8 +279,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_SHUTDOWN_ACK */  #define TYPE_SCTP_ERROR { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -318,8 +298,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_ERROR */  #define TYPE_SCTP_COOKIE_ECHO { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_do_5_1D_ce), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -339,8 +317,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_COOKIE_ECHO */  #define TYPE_SCTP_COOKIE_ACK { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -360,8 +336,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_COOKIE_ACK */  #define TYPE_SCTP_ECN_ECNE { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -381,8 +355,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_ECN_ECNE */  #define TYPE_SCTP_ECN_CWR { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -402,8 +374,6 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,  } /* TYPE_SCTP_ECN_CWR */  #define TYPE_SCTP_SHUTDOWN_COMPLETE { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -446,8 +416,6 @@ static const sctp_sm_table_entry_t chunk_event_table[SCTP_NUM_BASE_CHUNK_TYPES][  }; /* state_fn_t chunk_event_table[][] */  #define TYPE_SCTP_ASCONF { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -467,8 +435,6 @@ static const sctp_sm_table_entry_t chunk_event_table[SCTP_NUM_BASE_CHUNK_TYPES][  } /* TYPE_SCTP_ASCONF */  #define TYPE_SCTP_ASCONF_ACK { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -496,8 +462,6 @@ static const sctp_sm_table_entry_t addip_chunk_event_table[SCTP_NUM_ADDIP_CHUNK_  }; /*state_fn_t addip_chunk_event_table[][] */  #define TYPE_SCTP_FWD_TSN { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -524,8 +488,6 @@ static const sctp_sm_table_entry_t prsctp_chunk_event_table[SCTP_NUM_PRSCTP_CHUN  }; /*state_fn_t prsctp_chunk_event_table[][] */  #define TYPE_SCTP_AUTH { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ootb), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -553,8 +515,6 @@ static const sctp_sm_table_entry_t auth_chunk_event_table[SCTP_NUM_AUTH_CHUNK_TY  static const sctp_sm_table_entry_t  chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = { -	/* SCTP_STATE_EMPTY */ -	TYPE_SCTP_FUNC(sctp_sf_ootb),  	/* SCTP_STATE_CLOSED */  	TYPE_SCTP_FUNC(sctp_sf_ootb),  	/* SCTP_STATE_COOKIE_WAIT */ @@ -575,8 +535,6 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {  #define TYPE_SCTP_PRIMITIVE_ASSOCIATE  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_do_prm_asoc), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -596,8 +554,6 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {  } /* TYPE_SCTP_PRIMITIVE_ASSOCIATE */  #define TYPE_SCTP_PRIMITIVE_SHUTDOWN  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_error_closed), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -617,8 +573,6 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {  } /* TYPE_SCTP_PRIMITIVE_SHUTDOWN */  #define TYPE_SCTP_PRIMITIVE_ABORT  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_error_closed), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -638,8 +592,6 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {  } /* TYPE_SCTP_PRIMITIVE_ABORT */  #define TYPE_SCTP_PRIMITIVE_SEND  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_error_closed), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -659,8 +611,6 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {  } /* TYPE_SCTP_PRIMITIVE_SEND */  #define TYPE_SCTP_PRIMITIVE_REQUESTHEARTBEAT  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_error_closed), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -680,8 +630,6 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {  } /* TYPE_SCTP_PRIMITIVE_REQUESTHEARTBEAT */  #define TYPE_SCTP_PRIMITIVE_ASCONF { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_error_closed), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -713,8 +661,6 @@ static const sctp_sm_table_entry_t primitive_event_table[SCTP_NUM_PRIMITIVE_TYPE  };  #define TYPE_SCTP_OTHER_NO_PENDING_TSN  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ignore_other), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -722,7 +668,7 @@ static const sctp_sm_table_entry_t primitive_event_table[SCTP_NUM_PRIMITIVE_TYPE  	/* SCTP_STATE_COOKIE_ECHOED */ \  	TYPE_SCTP_FUNC(sctp_sf_ignore_other), \  	/* SCTP_STATE_ESTABLISHED */ \ -	TYPE_SCTP_FUNC(sctp_sf_ignore_other), \ +	TYPE_SCTP_FUNC(sctp_sf_do_no_pending_tsn), \  	/* SCTP_STATE_SHUTDOWN_PENDING */ \  	TYPE_SCTP_FUNC(sctp_sf_do_9_2_start_shutdown), \  	/* SCTP_STATE_SHUTDOWN_SENT */ \ @@ -734,8 +680,6 @@ static const sctp_sm_table_entry_t primitive_event_table[SCTP_NUM_PRIMITIVE_TYPE  }  #define TYPE_SCTP_OTHER_ICMP_PROTO_UNREACH  { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_ignore_other), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -760,8 +704,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  };  #define TYPE_SCTP_EVENT_TIMEOUT_NONE { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -781,8 +723,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_T1_COOKIE { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -802,8 +742,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_T1_INIT { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -823,8 +761,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_T2_SHUTDOWN { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -844,8 +780,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_T3_RTX { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -865,8 +799,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_T4_RTO { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -886,8 +818,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -907,8 +837,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_HEARTBEAT { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -928,8 +856,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_SACK { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_bug), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \ @@ -949,8 +875,6 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_  }  #define TYPE_SCTP_EVENT_TIMEOUT_AUTOCLOSE { \ -	/* SCTP_STATE_EMPTY */ \ -	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_CLOSED */ \  	TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \  	/* SCTP_STATE_COOKIE_WAIT */ \  |