blob: 6f49769bda7ee1a29c59422a5dbe19394ed2f895 [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
5Application Filtering
6=====================
7
8Application filtering allows configuration of the application endpoints that a
9device is allowed to connect to. Configuration is possible of not only whether an
10application endpoint is reachable or not, but also what maximum bitrate and traffic
11class should be associated with that endpoint.
12
13A VCS may have a total of five user-defined application endpoints associated with it. Logically
14this could be one application with five endpoints, five applications with one endpoint
15each, or any other combination that is less than or equal to five endpoints total.
16
17In addition to
18these five user configurable endpoints, the default behavior can be set to either
19ALLOW-ALL, DENY-ALL, or ALLOW-PUBLIC. ALLOW-PUBLIC is a special rule that denies traffic
20to private IPv4 networks (as per RFC1918) and then allows everything else.
21
22Configuring Applications
23------------------------
24
25Begin by creating Applications. Each application has an address field which may be
26set to an IPv4 address or an IPv4 subnet, which may in turn match several IPv4
27addresses. Once the address is set, move on to creating endpoints.
28
29Each endpoint is a port range, specified by its start and end port. A range of
30exactly one port is also acceptable. The protocol may be set to either TCP or UDP. Each
31endpoint may also have associated with it a maximum bitrate and a traffic-class. The
32maximum bitrate is per-device to the application; it is not the sum of all devices to the
33application.
34
35Adding Applications to VCSes
36----------------------------
37
38Each VCS has an application filter, which is a list of applications. Each entry
39in this list has a priority and an allow|deny setting. Keep in mind that the total
40number of endpoints for all applications attached to the VCS must be less than or
41equal to five.
42
43Also configurable for the VCS is the default-behavior, which will automatically
44be evaluated at the lowest priority, only taking effect if no other rule matches.
45The default behavior does not count against the 5-endpoint limit.
46
47How Application Filtering is Evaluated
48--------------------------------------
49
50Application filtering is evaluated from highest priority (0) to the lowest
51priority (250). The first rule to match will have its action applied. Subsequent
52rules after a match are not evaluated.
53
54For example, assume the following filter is configured:
55
56* Priority=0, Address=10.0.0.1, Protocol=TCP, Port=8000, Action=Allow
57* Priority=1, Address=10.0.0.0/24, Action=Deny
58* Default_Behavior = Allow All
59
60The above rule would allow traffic to 10.0.0.1 on TCP port 8000, but deny
61traffic to all other hosts on the IPv4 subnet 10.0.0.0/24. Ports other than
628000 on 10.0.0.1 would be denied, as would protocols other than TCP. Traffic to
63subnets other than 10.0.0.0/24 would be allowed.