Commit Graph

107 Commits

Author SHA1 Message Date
d93cd1044d reformat WTP config file reader 2016-03-03 16:44:56 +01:00
2b489947c2 add support for setting the STA WME fields from WMM 2016-03-03 16:44:15 +01:00
d68bc01d00 change supportedrates config setting to the actual MBit value
supportedrates is now a list instead on an array and float values
(e.g. 5.5) are permited.
2016-03-03 08:59:49 +01:00
8dc30ae3c4 rework socket and discovery handling
Swtich sockets to connected when talking to a specific AC. Use
unconnected UDP sockets only during DISCOVERY.

In JOIN, we need send our local address. The old, routing table
based local address discovery is broken for many reasons (VRF,
policy routing, ...). With a connected socket, we can the same
information with a simple getsockname.

During DISCOVERY we are talking to all potential AC's at once.
So using an unconnected socket makes still sense.
2016-03-02 15:13:56 +01:00
067eb8d11a remove socket.o reference from kernel build 2016-02-29 15:45:23 +01:00
484002b3e6 add support for CAPWAP IEEE 802.11 Information Element to AssocResponse 2016-02-29 15:30:54 +01:00
e4a5abba65 add support for CAPWAP IEEE 802.11 Information Element 2016-02-29 14:32:02 +01:00
9fee37a994 rework wifi type and rate logic
Hard coding basic rates is wrong. Each Wifi types does expect
some default basic rates. However those rates are not set in
stone and the AC is permited to set then to whatever it deems
ok. This might prevent client from connecting, but it still is
the AC decission to do so.

This is first step towards a more flexible basic rate handling.
2016-02-29 14:26:13 +01:00
b80073b756 inject 802.11 frames through the normal device queue 2016-02-25 12:39:19 +01:00
0c19932b58 send 802.3 frames through the normal device TX path
Injecting 802.11 frames underneath the device logic bypasses
the queue logik and leads to delay. Pass 802.3 frames through
the normal device TX chain.

This has the added benefit that AF_PACKET sockets (e.g. tcpdump)
see the send frames.
2016-02-22 16:56:03 +01:00
f3119eec8d rework kernel socket handling to use udp tunnel infrastructure
Reimplmenting what is already there doesn't make sense. Switch
to the existing and UDP tunnel support code and handle the data
channel as a connected UDP socket
2016-02-22 16:54:54 +01:00
cc5b38f322 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
2016-02-18 19:36:22 +01:00
a6d0efe91a wtp: rework kernel socket handling
Switch to a connected UDP kernel socket. Comparing the
local and remote IPs is no longer required and handling
different IP versions and UDP types is automatic.

The WTP logic needs to reopen the socket on demand now.
2016-02-18 15:06:39 +01:00
cae859e42f [debug] add debug trace logging for some procedures 2016-02-17 11:56:03 +01:00
3a9a673d71 register pernet support befor anything else 2016-02-08 17:33:31 +01:00
385832a010 start with network namespace support
This is incomplete. There are several places left where a global
variable is used (e.g. there can only be one AC session).
2016-02-05 17:43:15 +01:00
69ca3d3256 change __genl_const to const
__genl_const was depreciated some time ago.
2016-02-05 17:42:43 +01:00
8c20d78941 remove dos style newlines 2016-02-05 17:38:49 +01:00
58c63bbc4e Fix error in retrasmisson packets 2016-02-05 17:33:09 +01:00
8042cd2e04 Merge 2015-01-24 13:14:05 +01:00
49f7ba41df Fix Dead Store (Dead increment) found by Clang Analyzer
---
 src/wtp/binding/ieee80211/wifi_drivers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2015-01-22 10:19:38 +01:00
d12d15d67d Fix Dead Store (Dead Assignment) found by Clang Analyzer
---
 src/wtp/wtp_dfa.c | 2 --
 1 file changed, 2 deletions(-)
2015-01-22 10:19:38 +01:00
e5f1fbd992 Fix Dead Store (Dead Assignment) found by Clang Analyzer
---
 src/wtp/binding/ieee80211/wifi_nl80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2015-01-22 10:19:38 +01:00
addf009bae Fix equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] when build with Clang
---
 src/wtp/wtp_dfa_discovery.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2015-01-22 10:19:38 +01:00
32a25aa34e Remove printk 2015-01-11 22:17:59 +01:00
c7fa31ce56 Fix data channel defrag 2015-01-04 21:31:25 +01:00
21ffd7cd23 Fix data channel fragmentation 2014-12-28 20:49:21 +01:00
0c27172ca6 Separate netlink socket for receive message and send event 2014-12-28 16:14:19 +01:00
b05d6631f4 Fix reset data session 2014-12-28 15:53:11 +01:00
7c9ecebe7d Add debug output messages 2014-12-28 15:48:52 +01:00
f05c7acdcf Fix sequence number of control messages 2014-12-27 19:10:08 +01:00
98069694c5 Teardown connection if receive packet in unknown state 2014-12-26 15:37:30 +01:00
6b1deb48aa Remove debug dump 2014-12-26 14:55:09 +01:00
33ea96d9f5 Added functionality into capwap data channel kernel module 2014-12-23 21:12:25 +01:00
e2dea6b3de Improved session management into kernel module. A session is now indexed by
ip address and session id.
2014-10-20 19:53:32 +02:00
8937ded1d3 Improved the management of soap request/response.
The director has the opportunity to change the configuration of AC in join
connection. The virtual interfaces which encapsulate the wifi stations is
managed dynamically by the Director.
The AC must request authorization from Director for associate a station.
2014-10-19 21:37:22 +02:00
63f5fcea19 Fix fragment error
Add stub for virtual interfaces of data packet
2014-09-21 11:20:35 +02:00
8d9985fdea The capwap data channel migrated from userspace to kernalspace 2014-09-10 21:58:23 +02:00
71006a9121 Fix minor bug.
Add draft of ac kernel module.
2014-06-15 09:09:48 +02:00
2d6c4c4dd8 Check netlink file descriptor only if receive IEEE 802.11 packets in usermode. 2014-06-14 14:52:02 +02:00
c3865e4cbb Change WTP Kernel Module path 2014-06-10 22:34:38 +02:00
089a044f3f Fix capwap protocol and optional wireless information header.
Complete IEEE802.11 frames tunnel WTP side.
Now WTP can send data packets to the AC.
2014-06-09 22:30:04 +02:00
67daa8dcbb Permit to forward IEEE802.11 Data Packet from kernel space to user space bypass
kernel network stack.
2014-06-07 22:37:19 +02:00
92c86462dc Created a patch for mac80211 that allows to capture the raw IEEE80211 packets
(management, control, data) of one or more wireless interfaces.
Not necessary the monitor interface. The patch allows to discriminate which
IEEE802.11 types and IEEE802.11 subtypes capture.
2014-06-04 22:58:34 +02:00
0ebf1a434f Add skeleton code for CAPWAP Data Channel kernel module.
The IEEE802.11 data packets will embedded into CAPWAP Data Channel directly in
kernel mode. The CAPWAP Data Channel in usermode be used only for compatibility
reasons.
2014-06-01 16:32:30 +02:00
289fbe01c7 Fix error into wifi change frequency 2014-05-28 22:49:03 +02:00
3573dd4251 Removing the OpenSSL library for CyaSSL.
OpenSSL license was not compatible with the GPL license.
2014-05-15 21:43:21 +02:00
e1023a388e Add business logic of Authentication/Association in SplitMAC mode. 2014-04-25 22:05:36 +02:00
d4d7649f3b Removed the necessity of having to calculate each time the string of
macaddress stations.
2014-04-23 22:39:19 +02:00
1c810c2d72 Fix disconnect station in local mac.
Fix management of AC IEEE802.11 management packet to station.
2014-04-23 22:11:24 +02:00