Drop packets if connection is teardown
This commit is contained in:
@ -132,6 +132,7 @@ struct wtp_t {
|
||||
struct capwap_dtls_context dtlscontext;
|
||||
struct capwap_dtls ctrldtls;
|
||||
struct capwap_dtls datadtls;
|
||||
int teardown;
|
||||
};
|
||||
|
||||
#define WTP_RADIO_ENABLED 0
|
||||
|
@ -387,7 +387,7 @@ int wtp_dfa_running(void) {
|
||||
}
|
||||
|
||||
if (index >= 0) {
|
||||
if (action == WTP_DFA_DROP_PACKET) {
|
||||
if ((action == WTP_DFA_DROP_PACKET) || g_wtp.teardown) {
|
||||
/* Drop packet */
|
||||
continue;
|
||||
} else {
|
||||
|
@ -56,6 +56,8 @@ int wtp_dfa_state_dtlsconnect_to_dtlsteardown(struct capwap_parsed_packet* packe
|
||||
int wtp_teardown_connection(struct timeout_control* timeout) {
|
||||
ASSERT(timeout != NULL);
|
||||
|
||||
g_wtp.teardown = 1;
|
||||
|
||||
/* DTSL Control */
|
||||
if (g_wtp.ctrldtls.enable) {
|
||||
capwap_crypt_close(&g_wtp.ctrldtls);
|
||||
|
@ -6,7 +6,10 @@
|
||||
int wtp_dfa_state_idle(struct capwap_parsed_packet* packet, struct timeout_control* timeout) {
|
||||
ASSERT(timeout != NULL);
|
||||
ASSERT(packet == NULL);
|
||||
|
||||
|
||||
/* Remove teardown flag */
|
||||
g_wtp.teardown = 0;
|
||||
|
||||
if (!g_wtp.acdiscoveryrequest && (g_wtp.acpreferedarray->count > 0)) {
|
||||
/* Found in configuration file the AC address */
|
||||
memcpy(&g_wtp.acctrladdress, capwap_array_get_item_pointer(g_wtp.acpreferedarray, g_wtp.acpreferedselected), sizeof(struct sockaddr_storage));
|
||||
|
Reference in New Issue
Block a user