blob: b925a2932820edf0dab43346012d42d45cdd7857 [file] [log] [blame]
Scott Bakerd3a7ec52021-11-08 22:59:07 -08001..
2 SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
3 SPDX-License-Identifier: Apache-2.0
4
Scott Baker728115f2022-03-10 10:12:01 -08005.. _application:
6
Scott Baker3c7cfea2022-03-09 16:22:42 -08007Application Management
8======================
Scott Bakerd3a7ec52021-11-08 22:59:07 -08009
Scott Baker3c7cfea2022-03-09 16:22:42 -080010Aether allows configuration of the application endpoints that a
Scott Bakerd3a7ec52021-11-08 22:59:07 -080011device is allowed to connect to. Configuration is possible of not only whether an
12application endpoint is reachable or not, but also what maximum bitrate and traffic
13class should be associated with that endpoint.
14
Scott Bakerc0747562022-03-09 13:48:29 -080015A Slice may have a total of five user-defined application endpoints associated with it. Logically
Scott Bakerd3a7ec52021-11-08 22:59:07 -080016this could be one application with five endpoints, five applications with one endpoint
17each, or any other combination that is less than or equal to five endpoints total.
18
Scott Baker728115f2022-03-10 10:12:01 -080019Each application has an address field which may be
20set to an IPv4 address or an IPv4 subnet, which may in turn match several IPv4
21addresses. This address is common to all endpoints for the application.
22Each endpoint is a port range, specified by its start and end port. A range of
23exactly one port is also acceptable. The protocol may be set to either TCP or UDP. Each
24endpoint may also have associated with it a maximum bitrate and a traffic-class. The
25maximum bitrate (MBR) is per-device to the application; it is not the sum of all devices to the
26application. For more information see the section on :ref:`metering`.
27
Scott Bakerd3a7ec52021-11-08 22:59:07 -080028In addition to
29these five user configurable endpoints, the default behavior can be set to either
30ALLOW-ALL, DENY-ALL, or ALLOW-PUBLIC. ALLOW-PUBLIC is a special rule that denies traffic
31to private IPv4 networks (as per RFC1918) and then allows everything else.
32
Scott Baker3c7cfea2022-03-09 16:22:42 -080033Creating Applications
34---------------------
Scott Bakerd3a7ec52021-11-08 22:59:07 -080035
Scott Baker3c7cfea2022-03-09 16:22:42 -080036Begin by creating Applications. Start by going to the application page, and
37clicking the add button.
38
39|app-list|
40
41This will open a page where application details may be specified:
42
43|app-add|
44
Scott Baker728115f2022-03-10 10:12:01 -080045Set the address and then move on to creating endpoints. Press the *+*
Scott Baker3c7cfea2022-03-09 16:22:42 -080046button to add an endpoint.
47
48|app-add-endpoint|
Scott Bakerd3a7ec52021-11-08 22:59:07 -080049
Scott Baker728115f2022-03-10 10:12:01 -080050Specify the port range, protocol, and optionally the MBR and traffic class for the
51endpoint.
Scott Bakerd3a7ec52021-11-08 22:59:07 -080052
Scott Baker3c7cfea2022-03-09 16:22:42 -080053Once all endpoints have been added, they will be summarized on the application page. Update
54and commit the changes.
55
56|app-add-update|
57
Scott Bakerc0747562022-03-09 13:48:29 -080058Adding Applications to Slices
59-----------------------------
Scott Bakerd3a7ec52021-11-08 22:59:07 -080060
Scott Bakerc0747562022-03-09 13:48:29 -080061Each Slice has an application filter, which is a list of applications. Each entry
Scott Bakerd3a7ec52021-11-08 22:59:07 -080062in this list has a priority and an allow|deny setting. Keep in mind that the total
Scott Bakerc0747562022-03-09 13:48:29 -080063number of endpoints for all applications attached to the Slice must be less than or
Scott Baker3c7cfea2022-03-09 16:22:42 -080064equal to five. Start by opening up the slice and clicking the plus button next to the
65Filter list.
66
67|app-filter-slice-edit-filter-plus|
68
69Choose an application and select a priority for it.
70
71|slice-filter-popup|
Scott Bakerd3a7ec52021-11-08 22:59:07 -080072
Scott Bakerc0747562022-03-09 13:48:29 -080073Also configurable for the Slice is the default-behavior, which will automatically
Scott Bakerd3a7ec52021-11-08 22:59:07 -080074be evaluated at the lowest priority, only taking effect if no other rule matches.
75The default behavior does not count against the 5-endpoint limit.
76
77How Application Filtering is Evaluated
78--------------------------------------
79
80Application filtering is evaluated from highest priority (0) to the lowest
81priority (250). The first rule to match will have its action applied. Subsequent
82rules after a match are not evaluated.
83
84For example, assume the following filter is configured:
85
86* Priority=0, Address=10.0.0.1, Protocol=TCP, Port=8000, Action=Allow
87* Priority=1, Address=10.0.0.0/24, Action=Deny
88* Default_Behavior = Allow All
89
90The above rule would allow traffic to 10.0.0.1 on TCP port 8000, but deny
91traffic to all other hosts on the IPv4 subnet 10.0.0.0/24. Ports other than
928000 on 10.0.0.1 would be denied, as would protocols other than TCP. Traffic to
93subnets other than 10.0.0.0/24 would be allowed.
Scott Baker3c7cfea2022-03-09 16:22:42 -080094
95.. |app-list| image:: images/aether-roc-gui-application-list.png
96 :alt: List of applications
97 :width: 1000
98
99.. |app-add| image:: images/aether-roc-gui-application-add.png
100 :alt: Add an application
101 :width: 800
102
103.. |app-add-endpoint| image:: images/aether-roc-gui-application-add-endpoint.png
104 :alt: Add an application endpoint
105 :width: 600
106
107.. |app-add-update| image:: images/aether-roc-gui-application-add-update.png
108 :alt: Ready to update and commit the application
109 :width: 800
110
111.. |app-filter-slice-edit-filter-plus| image:: images/aether-roc-gui-slice-edit-filter-plus.png
112 :alt: Slice edit page, ready to add a filter
113 :width: 800
114
115.. |slice-filter-popup| image:: images/aether-roc-gui-slice-filter-popup.png
116 :alt: Popup to add or edit an application filter
117 :width: 600
118
119
120