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.
This commit is contained in:
103
openwrt/Makefile
Normal file
103
openwrt/Makefile
Normal file
@ -0,0 +1,103 @@
|
||||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=smartcapwap
|
||||
PKG_VERSION:=1.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/smartcapwap
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=SmartCAPWAP WTP
|
||||
MAINTAINER:=Massimo Vellucci <vemax78@gmail.com>
|
||||
DEPENDS:=+libnl-tiny +libconfig +libcyassl +kmod-smartcapwap
|
||||
endef
|
||||
|
||||
define Package/smartcapwap/description
|
||||
This package contains the SmartCAPWAP WTP daemon.
|
||||
endef
|
||||
|
||||
define KernelPackage/smartcapwap
|
||||
SUBMENU:=Network Support
|
||||
TITLE:=SmartCAPWAP Data Channel Module
|
||||
MAINTAINER:=Massimo Vellucci <vemax78@gmail.com>
|
||||
DEPENDS:=+kmod-mac80211
|
||||
FILES:=$(PKG_BUILD_DIR)/src/kmod/smartcapwap.ko
|
||||
AUTOLOAD:=$(call AutoLoad,70,smartcapwap)
|
||||
endef
|
||||
|
||||
define KernelPackage/smartcapwap/description
|
||||
This package contains the SmartCAPWAP Data Transport kernel module.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
|
||||
SRC_SMARTCAPWAP:=/mnt/hgfs/shared/smartcapwap
|
||||
|
||||
define Build/Prepare
|
||||
mkdir -p $(PKG_BUILD_DIR)
|
||||
$(CP) -r $(SRC_SMARTCAPWAP)/* $(PKG_BUILD_DIR)/
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
$(call Build/Configure/Default, --disable-ac)
|
||||
endef
|
||||
|
||||
define Build/Compile/wtp
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
all
|
||||
endef
|
||||
|
||||
define Build/Compile/kmod
|
||||
$(MAKE) -C "$(LINUX_DIR)" \
|
||||
CROSS_COMPILE="$(KERNEL_CROSS)" \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
SUBDIRS="$(PKG_BUILD_DIR)/src/kmod" \
|
||||
KLIB_BUILD="$(LINUX_DIR)" \
|
||||
KLIB="$(TARGET_MODULES_DIR)" \
|
||||
KBUILD_EXTRA_SYMBOLS="$(LINUX_DIR)/../compat-wireless-2014-03-31/Module.symvers" \
|
||||
LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211-backport \
|
||||
-I$(LINUX_DIR)/arch/x86/include \
|
||||
-Iarch/x86/include/generated \
|
||||
-Iinclude \
|
||||
-I$(LINUX_DIR)/arch/x86/include/uapi \
|
||||
-Iarch/x86/include/generated/uapi \
|
||||
-I$(LINUX_DIR)/include/uapi \
|
||||
-Iinclude/generated/uapi \
|
||||
-include $(LINUX_DIR)/include/linux/kconfig.h \
|
||||
-include $(STAGING_DIR)/usr/include/mac80211-backport/backport/backport.h \
|
||||
" \
|
||||
V="$(V)" \
|
||||
modules
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(Build/Compile/wtp)
|
||||
$(Build/Compile/kmod)
|
||||
endef
|
||||
|
||||
define Package/smartcapwap/install
|
||||
$(INSTALL_DIR) $(1)/etc/capwap
|
||||
$(INSTALL_CONF) ./files/wtp.conf $(1)/etc/capwap/wtp.conf
|
||||
$(INSTALL_CONF) ./files/ca.crt $(1)/etc/capwap/ca.crt
|
||||
$(INSTALL_CONF) ./files/wtp.crt $(1)/etc/capwap/wtp.crt
|
||||
$(INSTALL_CONF) ./files/wtp.key $(1)/etc/capwap/wtp.key
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/wtp/wtp $(1)/usr/bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,smartcapwap))
|
||||
$(eval $(call KernelPackage,smartcapwap))
|
23
openwrt/files/ca.crt
Normal file
23
openwrt/files/ca.crt
Normal file
@ -0,0 +1,23 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID3TCCA0agAwIBAgIJAJpqxrKqMyLFMA0GCSqGSIb3DQEBBQUAMIGmMQswCQYD
|
||||
VQQGEwJJVDELMAkGA1UECBMCSVQxDTALBgNVBAcTBFJvbWUxFDASBgNVBAoTC1Nt
|
||||
YXJ0Q0FQV0FQMRQwEgYDVQQLEwtTbWFydENBUFdBUDEXMBUGA1UEAxMOU21hcnRD
|
||||
QVBXQVAgQ0ExFDASBgNVBCkTC1NtYXJ0Q0FQV0FQMSAwHgYJKoZIhvcNAQkBFhF2
|
||||
ZW1heDc4QGdtYWlsLmNvbTAeFw0xNDA1MTUxODAxNDNaFw0yNDA1MTIxODAxNDNa
|
||||
MIGmMQswCQYDVQQGEwJJVDELMAkGA1UECBMCSVQxDTALBgNVBAcTBFJvbWUxFDAS
|
||||
BgNVBAoTC1NtYXJ0Q0FQV0FQMRQwEgYDVQQLEwtTbWFydENBUFdBUDEXMBUGA1UE
|
||||
AxMOU21hcnRDQVBXQVAgQ0ExFDASBgNVBCkTC1NtYXJ0Q0FQV0FQMSAwHgYJKoZI
|
||||
hvcNAQkBFhF2ZW1heDc4QGdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
|
||||
gYkCgYEA72PBMR4HQ+rA+ifXJdMtUujlUQX1yrtXZ0HMdKbHbAbfoY3Rvyfdwo2i
|
||||
TMaZYomyCASawZRzkZJvPchu/q9au/UdLuTmeaUCDpvIkibMK5tahTgP5x90IMGu
|
||||
+uzdgZQaPbv+fjYkAmMGkZYYTha8GhH+vNloSb6n8oUh2eGf1kUCAwEAAaOCAQ8w
|
||||
ggELMB0GA1UdDgQWBBS4vrLLxmi9CrvlvN6uVv4l5uSzHDCB2wYDVR0jBIHTMIHQ
|
||||
gBS4vrLLxmi9CrvlvN6uVv4l5uSzHKGBrKSBqTCBpjELMAkGA1UEBhMCSVQxCzAJ
|
||||
BgNVBAgTAklUMQ0wCwYDVQQHEwRSb21lMRQwEgYDVQQKEwtTbWFydENBUFdBUDEU
|
||||
MBIGA1UECxMLU21hcnRDQVBXQVAxFzAVBgNVBAMTDlNtYXJ0Q0FQV0FQIENBMRQw
|
||||
EgYDVQQpEwtTbWFydENBUFdBUDEgMB4GCSqGSIb3DQEJARYRdmVtYXg3OEBnbWFp
|
||||
bC5jb22CCQCaasayqjMixTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GB
|
||||
ANZuFab2/jLSakpGc0nZjCWAlXm29TCkL1i0yxmpjgbg/tqZrSAb1tuK5IANI7Tz
|
||||
deOObRRxjjRGgSHnFLcKXmJeGjTmIdX7DLALWQALmc0GG+A1T1vHqVKc3YqjmUP3
|
||||
4X/JgFqJnF1KkKmcDLiLBmA8W4+rLPe3kKhNloKQ9G1m
|
||||
-----END CERTIFICATE-----
|
150
openwrt/files/wtp.conf
Normal file
150
openwrt/files/wtp.conf
Normal file
@ -0,0 +1,150 @@
|
||||
# WTP configuration file
|
||||
|
||||
version = "1.0";
|
||||
|
||||
application: {
|
||||
standalone = true;
|
||||
|
||||
name = "wtp 1";
|
||||
|
||||
location = "Ufficio";
|
||||
|
||||
binding = "802.11";
|
||||
|
||||
tunnelmode: {
|
||||
nativeframe = false;
|
||||
ethframe = false;
|
||||
localbridging = true;
|
||||
};
|
||||
|
||||
mactype = "localmac";
|
||||
|
||||
boardinfo: {
|
||||
idvendor = 123456;
|
||||
|
||||
element = (
|
||||
{ name = "model"; value = "1.0"; },
|
||||
{ name = "serial"; value = "2.0"; },
|
||||
{ name = "id"; value = "3.0"; },
|
||||
{ name = "revision"; value = "4.0"; },
|
||||
{ name = "macaddress"; type = "interface"; value = "eth0"; }
|
||||
);
|
||||
};
|
||||
|
||||
descriptor: {
|
||||
encryption = [
|
||||
"802.11_AES",
|
||||
"802.11_TKIP"
|
||||
];
|
||||
|
||||
info = (
|
||||
{ idvendor = 23456; type = "hardware"; value = "abcde"; },
|
||||
{ idvendor = 33457; type = "software"; value = "fghil"; },
|
||||
{ idvendor = 43458; type = "boot"; value = "mnopq"; },
|
||||
{ idvendor = 53459; type = "other"; value = "qwert"; }
|
||||
);
|
||||
};
|
||||
|
||||
ecn = "limited";
|
||||
|
||||
timer: {
|
||||
statistics = 120;
|
||||
};
|
||||
|
||||
dtls: {
|
||||
enable = true;
|
||||
|
||||
dtlspolicy: {
|
||||
cleardatachannel = true;
|
||||
dtlsdatachannel = true;
|
||||
};
|
||||
|
||||
type = "x509";
|
||||
|
||||
presharedkey: {
|
||||
identity = "prova";
|
||||
pskkey = "123456";
|
||||
};
|
||||
|
||||
x509: {
|
||||
calist = "/etc/capwap/ca.crt";
|
||||
certificate = "/etc/capwap/wtp.crt";
|
||||
privatekey = "/etc/capwap/wtp.key";
|
||||
};
|
||||
};
|
||||
|
||||
wlan: {
|
||||
prefix = "ap";
|
||||
};
|
||||
|
||||
radio = (
|
||||
{
|
||||
device = "phy0";
|
||||
enabled = true;
|
||||
driver = "nl80211";
|
||||
mode = "bg";
|
||||
country = "IT";
|
||||
outdoor = false;
|
||||
rtsthreshold = 2347;
|
||||
shortretry = 7;
|
||||
longretry = 4;
|
||||
shortpreamble = true;
|
||||
fragmentationthreshold = 2346;
|
||||
txmsdulifetime = 512;
|
||||
rxmsdulifetime = 512;
|
||||
maxbssid = 1;
|
||||
bssprefixname = "ap";
|
||||
dtimperiod = 2;
|
||||
beaconperiod = 100;
|
||||
antenna = {
|
||||
diversity = false;
|
||||
combiner = "omni";
|
||||
selection = [ "internal" ];
|
||||
};
|
||||
multidomaincapability = {
|
||||
firstchannel = 1;
|
||||
numberchannels = 11;
|
||||
maxtxpower = 100;
|
||||
};
|
||||
supportedrates = [
|
||||
12, 18, 24, 36, 48, 72, 96, 108
|
||||
];
|
||||
txpower = {
|
||||
current = 100;
|
||||
supported = [ 100 ];
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
network: {
|
||||
#binding = "eth1";
|
||||
mtu = 1500;
|
||||
|
||||
transport = "udp";
|
||||
|
||||
ipv4 = true;
|
||||
ipv6 = false;
|
||||
ipdualstack = true;
|
||||
};
|
||||
|
||||
acdiscovery: {
|
||||
search = false;
|
||||
host = [
|
||||
"192.168.1.101"
|
||||
];
|
||||
};
|
||||
|
||||
acprefered: {
|
||||
host = [
|
||||
"192.168.1.101"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
logging: {
|
||||
enable = true;
|
||||
level = "debug";
|
||||
output = (
|
||||
{ mode = "stdout"; }
|
||||
);
|
||||
};
|
73
openwrt/files/wtp.crt
Normal file
73
openwrt/files/wtp.crt
Normal file
@ -0,0 +1,73 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 2 (0x2)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=IT, ST=IT, L=Rome, O=SmartCAPWAP, OU=SmartCAPWAP, CN=SmartCAPWAP CA/name=SmartCAPWAP/emailAddress=vemax78@gmail.com
|
||||
Validity
|
||||
Not Before: May 15 18:02:22 2014 GMT
|
||||
Not After : May 12 18:02:22 2024 GMT
|
||||
Subject: C=IT, ST=IT, L=Rome, O=SmartCAPWAP, OU=SmartCAPWAP, CN=wtp1/name=SmartCAPWAP/emailAddress=vemax78@gmail.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (1024 bit)
|
||||
Modulus:
|
||||
00:b2:b1:a5:56:a7:ef:4d:76:76:0c:09:0f:5e:c3:
|
||||
4b:cd:9c:80:ae:1b:fa:8a:63:6b:3e:5d:df:18:e5:
|
||||
30:25:4a:bf:02:90:a0:1a:db:d9:7b:d3:c0:f2:5b:
|
||||
82:de:07:bd:4c:43:66:4d:39:6c:fe:88:d5:1a:ac:
|
||||
47:d0:4c:2d:e0:05:4d:95:80:b5:61:df:84:03:cb:
|
||||
26:f7:b3:77:8c:e5:28:9e:71:5e:4b:01:42:64:64:
|
||||
d4:1f:8b:e2:c6:12:af:9f:64:de:63:f0:b2:ff:fb:
|
||||
0e:82:d8:ba:cf:a9:21:7f:43:4f:c9:19:e0:50:e1:
|
||||
90:ac:ce:d2:ab:dc:87:b9:9f
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints:
|
||||
CA:FALSE
|
||||
X509v3 Key Usage:
|
||||
Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
|
||||
Netscape Comment:
|
||||
Easy-RSA Generated Certificate
|
||||
X509v3 Subject Key Identifier:
|
||||
5D:1C:43:55:79:96:EC:CD:9F:81:47:7F:23:F2:88:C4:80:EF:7A:C6
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B8:BE:B2:CB:C6:68:BD:0A:BB:E5:BC:DE:AE:56:FE:25:E6:E4:B3:1C
|
||||
DirName:/C=IT/ST=IT/L=Rome/O=SmartCAPWAP/OU=SmartCAPWAP/CN=SmartCAPWAP CA/name=SmartCAPWAP/emailAddress=vemax78@gmail.com
|
||||
serial:9A:6A:C6:B2:AA:33:22:C5
|
||||
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Client Authentication
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
2e:1b:fb:12:36:08:97:f4:93:2d:5e:5a:94:e0:67:a9:69:9c:
|
||||
d3:24:8b:51:87:b4:fd:02:cd:29:9c:54:5f:5c:27:4c:02:08:
|
||||
6a:64:79:84:a9:dd:df:f4:9d:7d:b7:19:e9:26:a6:01:af:a7:
|
||||
b4:00:50:51:9d:64:be:f6:38:6b:1d:04:e7:2d:34:16:26:75:
|
||||
88:01:98:d8:4e:db:3f:a2:f1:9d:d7:9d:cd:8a:07:8a:82:b1:
|
||||
9f:59:be:4c:e1:0f:8e:2f:ea:cc:98:0a:e1:54:6c:f4:00:a9:
|
||||
21:fa:9d:ed:81:4d:c6:1f:cd:20:bb:4a:ed:4d:61:50:be:af:
|
||||
02:f0
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEGTCCA4KgAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBpjELMAkGA1UEBhMCSVQx
|
||||
CzAJBgNVBAgTAklUMQ0wCwYDVQQHEwRSb21lMRQwEgYDVQQKEwtTbWFydENBUFdB
|
||||
UDEUMBIGA1UECxMLU21hcnRDQVBXQVAxFzAVBgNVBAMTDlNtYXJ0Q0FQV0FQIENB
|
||||
MRQwEgYDVQQpEwtTbWFydENBUFdBUDEgMB4GCSqGSIb3DQEJARYRdmVtYXg3OEBn
|
||||
bWFpbC5jb20wHhcNMTQwNTE1MTgwMjIyWhcNMjQwNTEyMTgwMjIyWjCBnDELMAkG
|
||||
A1UEBhMCSVQxCzAJBgNVBAgTAklUMQ0wCwYDVQQHEwRSb21lMRQwEgYDVQQKEwtT
|
||||
bWFydENBUFdBUDEUMBIGA1UECxMLU21hcnRDQVBXQVAxDTALBgNVBAMTBHd0cDEx
|
||||
FDASBgNVBCkTC1NtYXJ0Q0FQV0FQMSAwHgYJKoZIhvcNAQkBFhF2ZW1heDc4QGdt
|
||||
YWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsrGlVqfvTXZ2DAkP
|
||||
XsNLzZyArhv6imNrPl3fGOUwJUq/ApCgGtvZe9PA8luC3ge9TENmTTls/ojVGqxH
|
||||
0Ewt4AVNlYC1Yd+EA8sm97N3jOUonnFeSwFCZGTUH4vixhKvn2TeY/Cy//sOgti6
|
||||
z6khf0NPyRngUOGQrM7Sq9yHuZ8CAwEAAaOCAV0wggFZMAkGA1UdEwQCMAAwCwYD
|
||||
VR0PBAQDAgTwMC0GCWCGSAGG+EIBDQQgFh5FYXN5LVJTQSBHZW5lcmF0ZWQgQ2Vy
|
||||
dGlmaWNhdGUwHQYDVR0OBBYEFF0cQ1V5luzNn4FHfyPyiMSA73rGMIHbBgNVHSME
|
||||
gdMwgdCAFLi+ssvGaL0Ku+W83q5W/iXm5LMcoYGspIGpMIGmMQswCQYDVQQGEwJJ
|
||||
VDELMAkGA1UECBMCSVQxDTALBgNVBAcTBFJvbWUxFDASBgNVBAoTC1NtYXJ0Q0FQ
|
||||
V0FQMRQwEgYDVQQLEwtTbWFydENBUFdBUDEXMBUGA1UEAxMOU21hcnRDQVBXQVAg
|
||||
Q0ExFDASBgNVBCkTC1NtYXJ0Q0FQV0FQMSAwHgYJKoZIhvcNAQkBFhF2ZW1heDc4
|
||||
QGdtYWlsLmNvbYIJAJpqxrKqMyLFMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqG
|
||||
SIb3DQEBBQUAA4GBAC4b+xI2CJf0ky1eWpTgZ6lpnNMki1GHtP0CzSmcVF9cJ0wC
|
||||
CGpkeYSp3d/0nX23GekmpgGvp7QAUFGdZL72OGsdBOctNBYmdYgBmNhO2z+i8Z3X
|
||||
nc2KB4qCsZ9ZvkzhD44v6syYCuFUbPQAqSH6ne2BTcYfzSC7Su1NYVC+rwLw
|
||||
-----END CERTIFICATE-----
|
16
openwrt/files/wtp.key
Normal file
16
openwrt/files/wtp.key
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALKxpVan7012dgwJ
|
||||
D17DS82cgK4b+opjaz5d3xjlMCVKvwKQoBrb2XvTwPJbgt4HvUxDZk05bP6I1Rqs
|
||||
R9BMLeAFTZWAtWHfhAPLJvezd4zlKJ5xXksBQmRk1B+L4sYSr59k3mPwsv/7DoLY
|
||||
us+pIX9DT8kZ4FDhkKzO0qvch7mfAgMBAAECgYB3oUyChi1EG9GN3ybmFzMRdPwF
|
||||
FAAYU9TBTREF1rHz1WWpLu+w64xfRPWAi1lCkcXeX6UGgDKC+VJJ6BqvzcBLgkjh
|
||||
GBaWBCN/F782Ss4svt1dyRrixixUw+RfJLakKSdFPsrdIHctdSLIKsSl4wxj+9ek
|
||||
NmGbOBm/2ZJazSzgEQJBAN5abmR53pRdGKgfFKeqUo+ygWSi1IDFqn0niw7DS4TU
|
||||
3h/QuI9qWZQlTIK8ibguvpc7wHUK4IZ0pk7TwmN1H6cCQQDNu+4vw2Xe2CFjEkLI
|
||||
X1stba8tsdqP04BGFectrxoeUhLMZtG2Y0ZCx+BjAACXTqfchsSjv+G9Fj/QHJLg
|
||||
TxVJAkB8VQjBejvxrhTpfWepUV4VJ/WedkZpMx5gGUpymNWTkwwZsjZhS1CHvEuK
|
||||
Fy7TJKBCJJE7YTenN3b/QP3Da2ylAkEAwVzMdR/Vcyj32EGleuYEsCHS78OlhGBo
|
||||
w3Z6nTlh9vV0raBFooKT2tg5UVMDOzK2GlKgJreF104+E7+HXEN34QJAYF76xuMm
|
||||
bKi3V1bI7/t8hXs87LLHjR90PHNzLdy61lWxMvb8oWe8KjDyaE253h24a6tEPzT1
|
||||
a8lIpqpuuuvTbg==
|
||||
-----END PRIVATE KEY-----
|
Reference in New Issue
Block a user