Andreas Schultz
067f920d81
reformat some overly long code lines
2016-03-29 11:48:28 +02:00
Tobias Hintze
ad27e80521
Merge pull request #2 from nm-mrt/dns-support
...
Handle no DNS at system start
2016-03-25 13:16:20 +01:00
Moritz Rosenthal
f9bb716dac
Changed name of addr_capwap.socket to addr_capwap.sockaddr
...
Changed FQDN size from 128 to 256 according to RFC1035
2016-03-25 12:41:43 +01:00
Andreas Schultz
ea87da11ba
[wtp] use goto error exit instead of deep nested if conditions
...
Convert WTP main() function to linux kernel style goto error exits.
2016-03-24 17:15:12 +01:00
Andreas Schultz
3b7c0adda7
[wtp] move overly deep indented wtp descriptor config parser into function
2016-03-24 17:15:12 +01:00
Andreas Schultz
aa5af8056b
[wtp] move overly deep indented config parser into function
2016-03-24 17:15:12 +01:00
Andreas Schultz
fbe31bda21
rename variable to avoid potential type clash
2016-03-24 17:15:12 +01:00
Andreas Schultz
2109c62b80
implement basic 802.11n support
...
Add suport to enable 80211n support on the BSS and set
station parameters through the "Add Station" procedure.
Setting 802.11n radio parameters is rudementary and does
not work yet.
2016-03-24 17:15:11 +01:00
Andreas Schultz
e3a977e40a
[wtp] rework wtp_radio_setconfiguration
...
no functional changes, only code shuffeling:
* move 802.11 IE handling into function
* rework deep if conditions to be simple
* reformat
2016-03-24 17:15:11 +01:00
Moritz Rosenthal
7b9f515bd7
If there is no DNS available on system start the capwap-wtp will stop while evaluating the configuration. I fixed that by checking if the address was yet translated on every address access. If not a DNS request is started before continuing.
2016-03-24 07:09:29 +01:00
Andreas Schultz
471d1058c4
[wtp] prepare message elements for vendor element handling
...
convert message element type into a struct{ vendor, type }.
Vendor will be 0 for all RFC types.
2016-03-08 10:21:51 +01:00
Andreas Schultz
d366a98717
add support for new NL80211_ATTR_IFACE_SOCKET_OWNER netlink attribute
2016-03-07 14:45:43 +01:00
Andreas Schultz
973bf5eab7
disable IPv6 on WTP AP interface
2016-03-04 18:39:08 +01:00
Andreas Schultz
0175052cf1
set transport header when injecting 802.3 frames
...
Resetting the headers is not enoug, we have to make sure
the transport header points the right position and the
skb->protocol is initialized to the payload protocol.
2016-03-04 17:05:56 +01:00
Andreas Schultz
5f98005414
handle WTP QoS IE
2016-03-04 17:04:21 +01:00
Andreas Schultz
d93cd1044d
reformat WTP config file reader
2016-03-03 16:44:56 +01:00
Andreas Schultz
2b489947c2
add support for setting the STA WME fields from WMM
2016-03-03 16:44:15 +01:00
Andreas Schultz
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
Andreas Schultz
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
Andreas Schultz
067eb8d11a
remove socket.o reference from kernel build
2016-02-29 15:45:23 +01:00
Andreas Schultz
484002b3e6
add support for CAPWAP IEEE 802.11 Information Element to AssocResponse
2016-02-29 15:30:54 +01:00
Andreas Schultz
e4a5abba65
add support for CAPWAP IEEE 802.11 Information Element
2016-02-29 14:32:02 +01:00
Andreas Schultz
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
Andreas Schultz
b80073b756
inject 802.11 frames through the normal device queue
2016-02-25 12:39:19 +01:00
Andreas Schultz
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
Andreas Schultz
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
Andreas Schultz
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
Andreas Schultz
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
Andreas Schultz
cae859e42f
[debug] add debug trace logging for some procedures
2016-02-17 11:56:03 +01:00
Andreas Schultz
3a9a673d71
register pernet support befor anything else
2016-02-08 17:33:31 +01:00
Andreas Schultz
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
Andreas Schultz
69ca3d3256
change __genl_const to const
...
__genl_const was depreciated some time ago.
2016-02-05 17:42:43 +01:00
Andreas Schultz
8c20d78941
remove dos style newlines
2016-02-05 17:38:49 +01:00
vemax78
58c63bbc4e
Fix error in retrasmisson packets
2016-02-05 17:33:09 +01:00
vemax78
8042cd2e04
Merge
2015-01-24 13:14:05 +01:00
Alexis La Goutte
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
Alexis La Goutte
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
Alexis La Goutte
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
Alexis La Goutte
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
vemax78
32a25aa34e
Remove printk
2015-01-11 22:17:59 +01:00
vemax78
c7fa31ce56
Fix data channel defrag
2015-01-04 21:31:25 +01:00
vemax78
21ffd7cd23
Fix data channel fragmentation
2014-12-28 20:49:21 +01:00
vemax78
0c27172ca6
Separate netlink socket for receive message and send event
2014-12-28 16:14:19 +01:00
vemax78
b05d6631f4
Fix reset data session
2014-12-28 15:53:11 +01:00
vemax78
7c9ecebe7d
Add debug output messages
2014-12-28 15:48:52 +01:00
vemax78
f05c7acdcf
Fix sequence number of control messages
2014-12-27 19:10:08 +01:00
vemax78
98069694c5
Teardown connection if receive packet in unknown state
2014-12-26 15:37:30 +01:00
vemax78
6b1deb48aa
Remove debug dump
2014-12-26 14:55:09 +01:00
vemax78
33ea96d9f5
Added functionality into capwap data channel kernel module
2014-12-23 21:12:25 +01:00
vemax78
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
vemax78
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
vemax78
63f5fcea19
Fix fragment error
...
Add stub for virtual interfaces of data packet
2014-09-21 11:20:35 +02:00
vemax78
8d9985fdea
The capwap data channel migrated from userspace to kernalspace
2014-09-10 21:58:23 +02:00
vemax78
71006a9121
Fix minor bug.
...
Add draft of ac kernel module.
2014-06-15 09:09:48 +02:00
vemax78
2d6c4c4dd8
Check netlink file descriptor only if receive IEEE 802.11 packets in usermode.
2014-06-14 14:52:02 +02:00
vemax78
c3865e4cbb
Change WTP Kernel Module path
2014-06-10 22:34:38 +02:00
vemax78
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
vemax78
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
vemax78
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
vemax78
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
vemax78
289fbe01c7
Fix error into wifi change frequency
2014-05-28 22:49:03 +02:00
vemax78
3573dd4251
Removing the OpenSSL library for CyaSSL.
...
OpenSSL license was not compatible with the GPL license.
2014-05-15 21:43:21 +02:00
vemax78
e1023a388e
Add business logic of Authentication/Association in SplitMAC mode.
2014-04-25 22:05:36 +02:00
vemax78
d4d7649f3b
Removed the necessity of having to calculate each time the string of
...
macaddress stations.
2014-04-23 22:39:19 +02:00
vemax78
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
vemax78
ebb4eb0c98
Fix function/variable name
...
Prepared to management the IEEE802.11 Management Frame coming from the AC.
2014-04-22 23:02:49 +02:00
vemax78
7668ab7c7c
Moved the management of the AP and Stations from nl80211 driver to generic wifi.
2014-04-21 23:16:56 +02:00
vemax78
fbd717b779
Added Delete Station Message Element into Station Configuration Message.
2014-04-15 22:26:31 +02:00
vemax78
21661277a0
Add station timer. Fix multiple bug.
2014-04-15 21:59:35 +02:00
vemax78
3e06393469
Change the location of binding file.
2014-04-15 16:45:39 +02:00
vemax78
3569267283
Big update with type fix and minor new function.
...
Complete the IEEE802.11 Station Association with interation of AC in LocalMAC mode.
After the IEEE802.11 Authorization / Association is complete, the AC can now
authorize the WTP to accept data station packets with Station Configuration Message.
2014-04-14 22:33:12 +02:00
vemax78
ae97e96f57
Started implementing the packet management of IEEE802.11 by AC side.
...
Made it clear some constants.
2014-04-02 22:40:04 +02:00
vemax78
eee74744d0
Changed the scope of stations. Now the stations are managed on a global level.
2014-03-23 20:42:59 +01:00
vemax78
0873967b88
Fix code
2014-03-22 21:31:09 +01:00
vemax78
684a829158
Added the ability to manage timeouts inside the wireless module
2014-03-16 21:36:01 +01:00
vemax78
738a5d9c93
The IEEE 802.11 Management packages can be sent into CAPWAP Data Channel only
...
in native format
2014-03-16 21:34:29 +01:00
vemax78
6042161d75
Reengineering the timeout manager. Allows to create an arbitrary number of timer
...
with the possibility to invoke a callback function on timeout.
2014-03-02 19:31:27 +01:00
vemax78
ea02d7379e
Refactoring timeout functions, change functions name and add timeout handler
...
into session.
2014-02-19 19:16:33 +01:00
vemax78
196d165119
First actions to send managements frame into data channel
2014-02-16 15:28:27 +01:00
vemax78
e1e4748367
The preparation for sending IEEE802.11 management packets to the AC by data
...
channel. Support both Local Mac and Split Mac.
2014-02-09 21:55:10 +01:00
vemax78
025880583c
Changed the management of the wireless interfaces, from creation to usage.
...
The virtual interfaces are created at the startup of the wtp to reduce the time
required to configure a wireless interface.
Applied some patches to build the WTP on OpenWRT trunk
2014-02-08 18:03:38 +01:00
vemax78
0790fb511a
Improved the management of authentication and association of the stations
2014-01-21 19:54:59 +01:00
vemax78
254ef26ed6
Added ACL of stations
2014-01-18 19:13:10 +01:00
vemax78
d2c01ad82a
Improved the management of the IEEE802.11 Beacon and add the management of
...
IEEE802.11 Probe Response.
2014-01-10 13:25:28 +01:00
vemax78
66019df158
Send only one from DSSS and OFDM Control Message Element
2014-01-07 16:22:44 +01:00
vemax78
022585f3a1
Add nl80211 handler message events
2013-12-21 23:50:15 +01:00
vemax78
bef31786ce
The first beacon of SmartCAPWAP
2013-12-20 23:14:34 +01:00
vemax78
dcbf837b7a
Add basic function for management wlan configuration
2013-12-07 18:14:32 +01:00
vemax78
64784fb460
Fix code
2013-12-07 18:13:42 +01:00
vemax78
7253e60aed
Fix code and improve wlan configuration functionality
2013-12-04 22:25:16 +01:00
vemax78
df4161dae7
Add management backend for close WTP sessions or reset a WTP
2013-11-10 22:11:56 +01:00
vemax78
516f129fce
Cleaning WTP DFA code
2013-11-07 22:06:29 +01:00
vemax78
059f6d9dc9
Add reference of IEEE802.11 message type
2013-10-20 17:33:57 +02:00
vemax78
f0e7a37cca
Filter message element
2013-10-14 18:09:46 +02:00
vemax78
5da4cd4a03
Remove radio channel from wtp configuration
2013-10-14 18:09:09 +02:00
vemax78
fa69ae9bba
Fix code
2013-09-30 17:37:34 +02:00
vemax78
5e3856cd9c
Add ieee 80211 message element to configure request
2013-09-25 21:22:09 +02:00
vemax78
45ca636d6f
Add radio configuration with physical information
2013-09-24 19:14:57 +02:00
vemax78
8ed0a76617
Improve radio configuration
2013-09-22 22:28:59 +02:00
vemax78
2aa926fff8
Fix
2013-09-19 21:17:17 +02:00