impelment station binding to wlanid

* add a kernel bash hash list to track station to
  radio and wlan id binding
* enforce binding on recv
* configure binding through netlink interface from
  WTP process
This commit is contained in:
Andreas Schultz
2016-02-18 19:36:22 +01:00
parent a6d0efe91a
commit cc5b38f322
10 changed files with 263 additions and 45 deletions

View File

@ -8,6 +8,9 @@
#include "capwap_rfc.h"
/* */
#define STA_HASH_SIZE 16
/* */
#define MAX_MTU 9000
#define DEFAULT_MTU 1450
@ -42,6 +45,16 @@ union capwap_addr {
struct sockaddr_storage ss;
};
struct sc_station {
struct hlist_node station_list;
uint8_t radioid;
uint8_t mac[ETH_ALEN];
uint8_t wlanid;
struct rcu_head rcu_head;
};
struct sc_skb_capwap_cb {
uint16_t flags;
@ -96,8 +109,9 @@ struct sc_capwap_session {
struct sc_capwap_sessionid_element sessionid;
atomic_t fragmentid;
struct sc_capwap_fragment_queue fragments;
struct hlist_head station_list[STA_HASH_SIZE];
};
/* Dipendent implementation function */