GitBook: [#22] No subject

This commit is contained in:
Chris Busch
2022-07-13 14:31:59 +00:00
committed by gitbook-bot
parent eb469f10f2
commit d6fdfb3fa5
9 changed files with 67 additions and 445 deletions

View File

@@ -64,23 +64,20 @@
* [Mesh](device-feature-configuration-examples/device-feature-configuration-examples/mesh.md)
* [QoS](device-feature-configuration-examples/device-feature-configuration-examples/qos.md)
* [Dynamic Air Time Fairness](device-feature-configuration-examples/device-feature-configuration-examples/dynamic-air-time-fairness.md)
* [Dynamic Subscriber QoS](device-feature-configuration-examples/device-feature-configuration-examples/dynamic-subscriber-qos.md)
* [Captive Portal](device-feature-configuration-examples/device-feature-configuration-examples/captive-portal/README.md)
* [External Captive Portal](device-feature-configuration-examples/device-feature-configuration-examples/captive-portal/external-captive-portal.md)
* [ExpressWiFi](device-feature-configuration-examples/device-feature-configuration-examples/expresswifi.md)
* [Roaming RRM and SON](device-feature-configuration-examples/device-feature-configuration-examples/roaming-rrm-and-son.md)
* [RADIUS Authenticated SSID](device-feature-configuration-examples/device-feature-configuration-examples/radius-authenticated-ssid/README.md)
* [Dynamic VLANs with RADIUS](device-feature-configuration-examples/device-feature-configuration-examples/radius-authenticated-ssid/dynamic-vlans-with-radius.md)
* [WISPr Subscriber Bandwidth](device-feature-configuration-examples/device-feature-configuration-examples/radius-authenticated-ssid/wispr-subscriber-bandwidth.md)
* [RADIUS MAC-Auth](device-feature-configuration-examples/device-feature-configuration-examples/radius-authenticated-ssid/radius-mac-auth.md)
* [Multi-PSK (MDU Shared Key)](device-feature-configuration-examples/device-feature-configuration-examples/multi-psk-mdu-multiple-shared-key.md)
* [Wireguard](device-feature-configuration-examples/device-feature-configuration-examples/wireguard.md)
* [Dynamic Air-Time Policy](device-feature-configuration-examples/device-feature-configuration-examples/dynamic-air-time-policy.md)
* [Passpoint®](device-feature-configuration-examples/device-feature-configuration-examples/passpoint-r1/README.md)
* [Configuration Introduction](device-feature-configuration-examples/device-feature-configuration-examples/passpoint-r1/configuration-introduction.md)
* [Advertising Services](device-feature-configuration-examples/device-feature-configuration-examples/passpoint-r1/advertising-services.md)
* [Passpoint® Configuration](device-feature-configuration-examples/device-feature-configuration-examples/passpoint-r1/passpoint-r-configuration.md)
* [Switching](device-feature-configuration-examples/device-feature-configuration-examples/switching/README.md)
* [Port Speed](device-feature-configuration-examples/device-feature-configuration-examples/switching/port-speed.md)
## RELEASE

View File

@@ -4,6 +4,14 @@ description: TIP OpenWiFi 2.0
# Device Feature Configuration Examples
OpenWiFi devices have a number of features that may be configured.
OpenWiFi device features are configurable through understanding the uCentral device data model.
For integrators of commercial controllers, these feature examples may help guide development of device provisioning within a partner controller products.
Experimentation with device features often occurs initially through static configuration as JSON document sent to a device using the OpenWiFi Gateway. 
Commercial products with OpenWiFi device provisioning will be using the northbound API to create, update, delete per device configurations. These APIs are then inter-worked southbound via the OpenWiFi Gateway to devices. 
Some of the available device features are exposed in this same manner using the OpenWiFi Provisioning service. This provisioning service offers an additional way for commercial partners to consume OpenWiFi and integrate a controller or back office environment that may require device provisioning when that functionality is not present as part of a controller or other commercial product.  
The following pages guide the user to understanding each of these features individually including example configuration information.

View File

@@ -15,7 +15,7 @@ Traffic handling building blocks over time have layered onto Wi-Fi to handle con
OpenWiFi WMM Supports the following class selector profiles:
* Enterprise
* RFC8325
* RFC8325 - default
* 3GPP

View File

@@ -1,6 +0,0 @@
---
description: TIP OpenWiFi 2.0
---
# Dynamic Subscriber QoS

View File

@@ -1,91 +0,0 @@
---
description: OpenWiFi 2.1
---
# ExpressWiFi
At home, in a cafe, or on the go, Express Wi-Fi gives you access to fast, affordable, and reliable internet so you can make connections that matter.
Express Wi-Fi partners with service providers to deliver great wi-fi to people when and where it's needed.
For information about becoming an expressWIFI partner please visit their [site.](https://expresswifi.fb.com)
![](<../../.gitbook/assets/image (36) (1).png>)
## Configuration
ExpressWiFi builds a captive portal experience using a control plane protocol called OpenFlow. Configuring OpenWiFi for use with expressWiFi is as simple as defining a downstream interface and associating with an SSID and the open-flow service.
{% tabs %}
{% tab title="expressWIFI" %}
```
"interfaces": [
{
"name": "WAN",
"role": "upstream",
"services": [ "lldp" ],
"ethernet": [
{
"select-ports": [
"WAN*"
]
}
],
"ipv4": {
"addressing": "dynamic"
}
},
{
"name": "LAN",
"role": "downstream",
"services": [ "ssh", "lldp", "open-flow"],
"ethernet": [
{
"select-ports": [
"LAN*"
]
}
],
"ipv4": {
"addressing": "static",
"subnet": "192.168.1.1/24",
"dhcp": {
"lease-first": 10,
"lease-count": 100,
"lease-time": "6h"
}
},
"ssids": [
{
"name": "ExpressWiFi",
"wifi-bands": [
"5G", "2G"
],
"bss-mode": "ap"
}
]
}
],
"services": {
"lldp": {
"describe": "OpenWiFi - expressWiFi",
"location": "Hotspot"
},
"ssh": {
"port": 22
},
"open-flow": {
"controller": " IP / FQDN of expressWiFi Controller ",
"mode": "specific mode pssl, ptcp, ssl, tcp"
"ca-certificate": " the client cert as Base64 here ",
"ssl-certificate": "the shared ca as Base64 here",
"private-key": "client key as Base64 here"
}
}
```
{% endtab %}
{% endtabs %}
{% hint style="info" %}
Contact expressWiFi for appropriate CA, Client Cert, and Key for TLS Security mode in addition to the specific expressWiFi Controller FQDN. Ensure these values are Base64 encoded when passed into the configuration
{% endhint %}

View File

@@ -32,7 +32,7 @@ TIP OpenWiFi enumerates defined QoS provisioning, as applications or port and pr
OpenWiFi WMM Supports the following class selector profiles:
* Enterprise
* RFC8325
* RFC8325 - default
* 3GPP

View File

@@ -1,306 +0,0 @@
---
description: TIP OpenWiFi 2.0
---
# Switching
{% hint style="info" %}
Switching Features Remain Under Test
{% endhint %}
TIP OpenWiFi use of the OpenWrt operating system combined with new virtual data plane present in all images for 2.0 major release and the uCentral data model make it possible to include PoE access switching as a cloud managed component of the OpenWiFi stack.
Nightly builds include supported switch platforms.
Currently the list of features for switching include:
* IEEE 802.1Q VLAN
* Port based Untagged
* Tagged trunk
* IEEE 802.1ad Q-inQ
* VxLAN
* PoE Auto Power
* Port Mirroring / Monitor
* Link Aggregation
* Link Layer Discovery Protocol
* Port Speed Control
### Configuring a Switch
All ports needs to be specified for link negotiation to occur. In the below example, the "ethernet" section defines the physical port. The "interfaces" configuration will cause the physical port to negotiate. Effectively removal of a "select-ports" for a physical port in any or all "interfaces" is the equivalent of an interface in shutdown state.
```
"ethernet": [
{
"select-ports": [
"WAN1"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN2"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN3"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN4"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN5"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN6"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN7"
],
"speed": 1000,
"duplex": "full",
"vlan-tag": "auto"
},
{
"select-ports": [
"WAN8"
],
"speed": 1000,
"duplex": "full",
"vlan-tag": "auto"
},
{
"select-ports": [
"WAN9"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN10"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN11"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN12"
],
"speed": 1000,
"duplex": "full"
}
],
```
Without any "interfaces" defined, the ifconfig on the switch will return eth0, lan1, lo as an output. When adding "interfaces" additional ports become active and also visible.
```
"interfaces": [
{
{
"name": "VLAN-30-Ports",
"role": "downstream",
"services": [ "lldp" ],
"vlan": {
"id": 30,
"proto": "802.1q"
},
"ethernet": [
{
"select-ports": [
"WAN7", "WAN8"
]
}
]
}
```
Vlan-Id 30 has been assigned to interfaces 7 and 8 on the switch. Traffic is isolated among participating ports.
#### Ifconfig output example
```
# ifconfig
down1v30 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C1
inet6 addr: fe80::923c:b3ff:fe39:c0c1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:79 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22135 (21.6 KiB) TX bytes:1036 (1.0 KiB)
eth0 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C0
inet6 addr: fe80::923c:b3ff:fe39:c0c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1504 Metric:1
RX packets:31617 errors:0 dropped:0 overruns:0 frame:0
TX packets:7479 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4293282 (4.0 MiB) TX bytes:1228185 (1.1 MiB)
Interrupt:24 Memory:c000000-bb00a3ff
lan1 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27321 errors:0 dropped:69 overruns:0 frame:0
TX packets:5445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2893034 (2.7 MiB) TX bytes:825702 (806.3 KiB)
lan7 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2204 errors:0 dropped:0 overruns:0 frame:0
TX packets:507 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:421385 (411.5 KiB) TX bytes:100251 (97.9 KiB)
lan8 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C8
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1241 errors:0 dropped:0 overruns:0 frame:0
TX packets:496 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:220496 (215.3 KiB) TX bytes:98164 (95.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:958 errors:0 dropped:0 overruns:0 frame:0
TX packets:958 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76410 (74.6 KiB) TX bytes:76410 (74.6 KiB)
up Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C1
inet6 addr: fe80::923c:b3ff:fe39:c0c1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27027 errors:0 dropped:0 overruns:0 frame:0
TX packets:4368 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3008700 (2.8 MiB) TX bytes:587431 (573.6 KiB)
up0v0 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C1
inet addr:10.75.0.154 Bcast:10.75.0.255 Mask:255.255.255.0
inet6 addr: fe80::923c:b3ff:fe39:c0c1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22673 errors:0 dropped:0 overruns:0 frame:0
TX packets:3865 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2390361 (2.2 MiB) TX bytes:525377 (513.0 KiB)
```
#### Bridge Vlan Table Output
```
# bridge vlan
port vlan-id
lan1 4090 PVID Egress Untagged
lan7 30 PVID Egress Untagged
lan8 30 PVID Egress Untagged
up 30
4090
#
```
### Assigning VLANs to Ports
To define additional VLAN memberships to any port, create additional "interfaces" configuration.
```
{
"name": "VLAN-30-Ports",
"role": "upstream",
"services": [ "lldp" ],
"vlan": {
"id": 30,
"proto": "802.1q"
},
"ethernet": [
{
"select-ports": [
"WAN7", "WAN8"
]
}
]
},
{
"name": "VLAN-40-Ports",
"role": "upstream",
"services": [ "lldp" ],
"vlan": {
"id": 40,
"proto": "802.1q"
},
"ethernet": [
{
"select-ports": [
"WAN7", "WAN8"
]
}
]
}
```
#### Ifconfig and Bridge Results
```
up1v30 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C1
inet6 addr: fe80::923c:b3ff:fe39:c0c1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1178 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:245923 (240.1 KiB) TX bytes:816 (816.0 B)
up2v40 Link encap:Ethernet HWaddr 90:3C:B3:39:C0:C1
inet6 addr: fe80::923c:b3ff:fe39:c0c1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:106 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34638 (33.8 KiB) TX bytes:816 (816.0 B)
# bridge vlan
port vlan-id
lan1 4090 PVID Egress Untagged
lan7 30
40
lan8 30
40
up 30
40
4090
```

View File

@@ -1,35 +0,0 @@
---
description: OpenWiFi 2.1
---
# Port Speed
Configuring port speed and operation is most commonly done with PoE access switches however the same configurations are possible for all OpenWiFi device types.
By default all ports attempt 1,000 Mb/s full duplex operation.
```
"ethernet": [
{
"select-ports": [
"WAN1"
],
"speed": 100,
"duplex": "half"
},
{
"select-ports": [
"WAN2"
],
"speed": 1000,
"duplex": "full"
},
{
"select-ports": [
"WAN3"
],
"speed": 100,
"duplex": "half"
}
],
```

View File

@@ -0,0 +1,55 @@
---
description: Early Preview Feature
---
# Wireguard
Wireguard is an overlay technology supporting both Layer 2 and Layer 3 operations. In TIP OpenWiFi this is designed as a configured service that is associated to any logical interface.&#x20;
As a fully encrypted overlay, key negotiation and exchange of peers is required. This peer endpoint exchange conversation is known as PEX.&#x20;
A PEX service is deployed with public network visibility and defined in the wireguard-overlay root-node configuration section of the client.
Endpoints to be key negotiated with are defined as hosts.&#x20;
When this wireguard-overlay is then associated as a service to a layer 3 interface either upstream (WAN) or downstream (LAN) then a layer 3 path is available between the define host endpoints.&#x20;
When the wireguard-overlay is associated as a service with vxlan configured, the host adjacencies become layer 2 paths.&#x20;
**Example:**
```
“wireguard-overlay”: {
“private-key”: “####AAAABBBBCCCDDDDEEEFFFFFGGGG“,
“root-node”: {
“key”: “ZZZZWWWWQQQEEERRRTTYYYY“,
“endpoint”: “148.251.188.218",
“ipaddr”: [ “192.168.3.1" ]
},
“hosts”: [
{
“name”: “ap1”,
“key”: “CCCCDDDDEEEEFFFFGGGHHHHIIII“,
“ipaddr”: [ “192.168.4.1" ]
}, {
“name”: “ap2",
“key”: “JJJKKKLLLAAABBBBBNCCCC####“,
“ipaddr”: [ “192.168.5.1" ]
}
],
“vxlan”: {
“isolate”: false
}
}
```
#### &#x20;Peer Endpoint eXchange Service (PEX)
Currently TIP OpenWiFi wireguard services are an early preview feature. The PEX network discovery daemon service is intended to be containerized and likely re-written as a core service of the TIP OpenWiFi SDK cloud.&#x20;
For development members in the Community who wish to begin with this feature, the following repo should be consulted for functional information on a base Linux deployment of PEX via: [https://github.com/nbd168/unetd/blob/master/PEX.md](https://github.com/nbd168/unetd/blob/master/PEX.md)&#x20;
Please connect with the Community maintainers via Slack if working on this early access feature.&#x20;