Skip to content

Commit 10961c9

Browse files
ixodiepogossianaarakely
authored
3.0 (#50)
* First 3.0 Commit Co-authored-by: Josh Saul <[email protected]> Co-authored-by: Gor Poghosyan <[email protected]> Co-authored-by: Arsen Arakelyan <[email protected]>
1 parent 933b429 commit 10961c9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1563
-755
lines changed

README.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Netris User Documentation
2+
3+
This repository stores external documentation related to the Netris Automatic NetOps software solution.
4+
5+
More Information:
6+
7+
8+
9+
https://netris.ai
10+
11+
Current docs are available at: https://netris.ai/docs

SoftGate-agent-installation.rst

+17-22
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@
22
:description: Netris SoftGate Agent Installation
33

44
***********************************
5-
Netris SoftGate agent installation
5+
Netris SoftGate Agent Installation
66
***********************************
7-
Minimal hardware requirements
7+
Minimum Hardware Requirements
88
=============================
99
* 2 x Intel Silver CPU
1010
* 96 GB RAM
1111
* 300 GB HDD
1212
* Nvidia Mellanox Connect-X 5 SmartNIC card
1313

14-
BIOS configuration
14+
BIOS Configuration
1515
==================
16-
The following are some recommendations on BIOS settings. Different vendors will have different BIOS naming so the following is mainly for reference:
16+
The following are some recommendations for BIOS settings. Different vendors will have different BIOS naming so the following is mainly for reference:
1717

18-
* Before starting consider resetting all BIOS settings to their defaults.
19-
* Disable all power saving options such as: Power performance tuning, CPU P-State, CPU C3 Report and CPU C6 Report.
20-
* Select Performance as the CPU Power and Performance policy.
21-
* Disable Turbo Boost to ensure the performance scaling increases with the number of cores.
22-
* Set memory frequency to the highest available number, NOT auto.
23-
* Disable all virtualization options when you test the physical function of the NIC, and turn off VT-d.
24-
* Disable Hyper-Threading.
18+
* Before starting consider resetting all BIOS settings to their defaults
19+
* Disable all power saving options such as: Power performance tuning, CPU P-State, CPU C3 Report and CPU C6 Report
20+
* Select Performance as the CPU Power and Performance policy
21+
* Disable Turbo Boost to ensure the performance scaling increases with the number of cores
22+
* Set memory frequency to the highest available number, NOT auto
23+
* Disable all virtualization options when you test the physical function of the NIC, and turn off VT-d
24+
* Disable Hyper-Threading
2525

26-
Software installation
26+
Software Installation
2727
=====================
2828
Requires freshly installed Ubuntu Linux 18.04 and network connectivity with your Netris Controller over the out-of-band management network.
2929

@@ -35,7 +35,7 @@ Requires freshly installed Ubuntu Linux 18.04 and network connectivity with your
3535
3636
echo -e 'Acquire::http::Proxy "http://<Your Netris Controller address>:3128";\nAcquire::https::Proxy "http://<Your Netris Controller address>:3128";' | sudo tee -a /etc/apt/apt.conf.d/netris-proxy
3737
38-
2. Config the apt for Mellanox repository.
38+
2. Config the apt for Nvidia Mellanox repository.
3939

4040
.. code-block:: shell-session
4141
@@ -57,15 +57,15 @@ Requires freshly installed Ubuntu Linux 18.04 and network connectivity with your
5757
5858
sudo apt-get update && sudo apt-get install mlnx-ofed-dpdk
5959
60-
5. Install Netris agent package and dependencies, including specific Linux Kernel version.
60+
5. Install Netris Agent package and dependencies, including specific Linux Kernel version.
6161

6262
.. code-block:: shell-session
6363
6464
sudo apt-get install netris-dpdk-mlnx
6565
6666
6. Configure Management IP address
6767

68-
Configure out of band management IP address. In case Netris Controller is not in the same OOB network then add a route to Netris Controller. No default route or other IP addresses should be configured.
68+
Configure out-of-band management IP address. If the Netris Controller is not in the same OOB network then add a route to Netris Controller. No default route or other IP addresses should be configured.
6969

7070
.. code-block:: shell-session
7171
@@ -97,7 +97,6 @@ Configure out of band management IP address. In case Netris Controller is not in
9797
| **--controller** - IP address or domain name of Netris Controller.
9898
| **--hostname** - Specify the hostname for the current switch, this hostname should match the name defined for particular switch in the Controller..
9999
| **--lo** - IP address for the loopback interface, as it is defined in the controller.
100-
| **--node-prio - brief explanation of node priority goes here**
101100
|
102101
| Run netris-setup.
103102
@@ -123,17 +122,13 @@ Example: Running netris-setup
123122
└── └── * Setup Grub Config
124123
* Update Grub
125124
└──
126-
127125
| *** ATTENTION: You must reboot SoftGate to complete the installation
128126
| netris@ubuntu:~$
129-
|
130127
131-
8. Reboot the server
128+
1. Reboot the server
132129

133130
.. code-block:: shell-session
134131
135132
sudo reboot
136133
137-
When server boots up, you should see it’s heartbeat status in Net→Inventory
138-
139-
134+
When server completes the reboot process, you should see it’s heartbeat status in Net→Inventory

_static/styles.css

+27-14
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@ pre.literal-block {
22
white-space: pre;
33
margin: 0 !important;
44
padding: 12px 12px !important;
5-
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console",
6-
"Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono",
7-
"Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier,
8-
monospace;
5+
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
96
font-size: 12px;
107
display: block;
118
overflow: auto;
@@ -28,7 +25,7 @@ pre.literal-block {
2825
border-color: #f9556d;
2926
}
3027

31-
.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a {
28+
.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a {
3229
background: #ffffff;
3330
}
3431

@@ -39,11 +36,11 @@ pre.literal-block {
3936

4037
.wy-menu-vertical a:hover,
4138
.wy-menu-vertical li.current,
42-
.wy-menu-vertical li.current > a {
39+
.wy-menu-vertical li.current>a {
4340
background-color: #ffffff !important;
4441
}
4542

46-
.wy-menu-vertical li.current > a {
43+
.wy-menu-vertical li.current>a {
4744
color: #000000 !important;
4845
border: none !important;
4946
}
@@ -76,7 +73,7 @@ pre.literal-block {
7673
}
7774

7875
.underscore-transition,
79-
.rst-other-versions > a {
76+
.rst-other-versions>a {
8077
font-family: Montseratt;
8178
}
8279

@@ -87,9 +84,9 @@ pre.literal-block {
8784
.underscore-transition,
8885
.wy-breadcrumbs li:first-child,
8986
.wy-breadcrumbs li:last-child,
90-
.rst-other-versions > a,
87+
.rst-other-versions>a,
9188
.toctree-wrapper a,
92-
footer > a {
89+
footer>a {
9390
color: #01358d !important;
9491
position: relative;
9592
}
@@ -98,9 +95,9 @@ footer > a {
9895
.wy-menu-vertical a::before,
9996
.wy-breadcrumbs li:first-child::before,
10097
.wy-breadcrumbs li:last-child::before,
101-
.rst-other-versions > a::before,
98+
.rst-other-versions>a::before,
10299
.toctree-wrapper a::before,
103-
footer > a::before {
100+
footer>a::before {
104101
box-sizing: inherit;
105102
content: "";
106103
position: absolute;
@@ -117,9 +114,9 @@ footer > a::before {
117114
.wy-menu-vertical a:hover::before,
118115
.wy-breadcrumbs li:first-child:hover::before,
119116
.wy-breadcrumbs li:last-child:hover::before,
120-
.rst-other-versions > a:hover::before,
117+
.rst-other-versions>a:hover::before,
121118
.toctree-wrapper a:hover::before,
122-
footer > a:hover::before {
119+
footer>a:hover::before {
123120
width: 100%;
124121
border-top-color: #f9556d;
125122
border-right-color: #f9556d;
@@ -189,3 +186,19 @@ footer > a:hover::before {
189186
cursor: pointer;
190187
margin-right: 25px;
191188
}
189+
190+
.with-shadow {
191+
box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
192+
}
193+
194+
.centered {
195+
text-align: center;
196+
}
197+
198+
.wy-table-responsive table td {
199+
white-space: normal !important;
200+
}
201+
202+
.wy-table-responsive {
203+
overflow: visible !important;
204+
}

acls.rst

+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
.. meta::
2+
:description: Access Control Lists (ACLs)
3+
4+
##########################
5+
Access Control Lists (ACL)
6+
##########################
7+
Netris supports ACLs for switch network access control. (ACL and ACL2.0) ACL is for defining network access lists in a source IP: Port, destination IP: Port format. ACL2.0 is an object-oriented service way of describing network access.
8+
9+
Both ACL and ACL2.0 services support tenant/RBAC based approval workflows. Access control lists execute in switch hardware providing line-rate performance for security enforcement. It’s important to keep in mind that the number of ACLs is limited to the limited size of TCAM of network switches.
10+
11+
Screenshot: TCAM utilization can be seen under Net→Inventory
12+
13+
.. image:: images/TCAM.png
14+
:align: center
15+
:class: with-shadow
16+
17+
Netris is applying several optimization algorithms to minimize the usage of TCAM while achieving the user-defined requirements.
18+
19+
ACL Default Policy
20+
------------------
21+
The ACL default policy is to permit all hosts to communicate with each other. You can change the default policy on a per Site basis by editing the Site features under Net→Sites. Once the “ACL Default Policy” is changed to “Deny,” the given site will start dropping any traffic unless specific communication is permitted through ACL or ACL2.0 rules.
22+
23+
Example: Changing “ACL Default Policy” for the site “siteDefault”.
24+
25+
.. image:: images/siteDefault.png
26+
:align: center
27+
:class: with-shadow
28+
29+
30+
ACL Rules
31+
---------
32+
ACL rules can be created, listed, edited, approved under Services→ACL.
33+
34+
Description of ACL fields.
35+
General
36+
37+
* **Name** - Unique name for the ACL entry.
38+
* **Protocol** - IP protocol to match.
39+
40+
* All - Any IP protocols.
41+
* IP - Specific IP protocol number.
42+
* TCP - TCP.
43+
* UDP - UDP.
44+
* ICMP ALL - Any IPv4 ICMP protocol.
45+
* ICMP Custom - Custom IPv4 ICMP code.
46+
* ICMPv6 ALL - Any IPv6 ICMP protocol.
47+
* ICMPv6 Custom - Custom IPv6 ICMP code.
48+
49+
* **Active Until** - Disable this rule at the defined date/time.
50+
* **Action** - Permit or Deny forwarding of matched packets.
51+
* **Established/Reverse** - For TCP, also match reverse packets except with TCP SYN flag. For non-TCP, also generate a reverse rule with swapped source/destination.
52+
53+
Source/Destination - Source and destination addresses and ports to match.
54+
55+
* **Source** IPv4/IPv6 - IPv4/IPv6 address.
56+
* **Ports Type**
57+
58+
* Port Range - Match on the port or a port range defined in this window.
59+
* Port Group - Match on a group of ports defined under Services→ ACL Port Group.
60+
61+
* **From Port** - Port range starting from.
62+
* **To Port** - Port range ending with.
63+
64+
* **Comment** - Descriptive comment, commonly used for approval workflows.
65+
66+
* **Check button** - Check if Another ACL on the system already permits the described network access.
67+
68+
Example: Permit hosts in 10.0.3.0/24 to access hosts in 10.0.5.0/24 by SSH, also permit the return traffic (Established).
69+
70+
.. image:: images/action_permit.png
71+
:align: center
72+
:class: with-shadow
73+
74+
Example: “Check” shows that requested access is already provided by a broader ACL rule.
75+
76+
.. image:: images/ACL_rule.png
77+
:align: center
78+
:class: with-shadow
79+
80+
ACL Approval Workflow
81+
---------------------
82+
When one tenant (one team) needs to get network access to resources under the responsibility of another tenant (another team), an ACL can be created but will activate only after approval of the tenant responsible for the destination address resources. See the below example.
83+
84+
Example: User representing QA_tenant is creating an ACL where source belongs to QA_tenant, but destination belongs to the Admin tenant.
85+
86+
.. image:: images/ACL_approval.png
87+
:align: center
88+
:class: with-shadow
89+
90+
Screenshot: ACL stays in “waiting for approval” state until approved.
91+
92+
.. image:: images/waiting_approval.png
93+
:align: center
94+
:class: with-shadow
95+
96+
Screenshot: Users of tenant Admin, receive a notification in the GUI, and optionally by email. Then one can review the access request and either approve or reject it.
97+
98+
.. image:: images/approve_reject.png
99+
:align: center
100+
:class: with-shadow
101+
102+
Screenshot: Once approved, users of both tenants will see the ACL in the “Active” state, and soon Netris Agents will push the appropriate config throughout the switch fabric.
103+
104+
.. image:: images/ACL_active.png
105+
:align: center
106+
:class: with-shadow
107+
108+
ACL Processing Order
109+
--------------------
110+
#. User-defined Deny Rules
111+
#. User-defined Permit Rules
112+
#. Deny the rest
113+

conf.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@
5959
# built documents.
6060
#
6161
# The short X.Y version.
62-
version = '2.9'
62+
version = '3.0'
6363
# The full version, including alpha/beta/rc tags.
64-
release = 'Netris v2.9'
64+
release = 'Netris v3.0'
6565

6666
# The language for content autogenerated by Sphinx. Refer to documentation
6767
# for a list of supported languages.
@@ -143,7 +143,7 @@
143143

144144
# The name for this set of Sphinx documents. If None, it defaults to
145145
# "<project> v<release> documentation".
146-
html_title = 'Netris 2.9 Documentation'
146+
html_title = 'Netris 3.0 Documentation'
147147

148148
# A shorter title for the navigation bar. Default is the same as html_title.
149149
#html_short_title = None

0 commit comments

Comments
 (0)