Skip to content

Commit

Permalink
Updating Docs for commit fdc0509 made on 2024-12-12T01:19:38+00:00 fr…
Browse files Browse the repository at this point in the history
…om refs/heads/master
  • Loading branch information
asaroyan committed Dec 12, 2024
0 parents commit 649a7ab
Show file tree
Hide file tree
Showing 2,409 changed files with 573,085 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.pdf filter=lfs diff=lfs merge=lfs -text
*.epub filter=lfs diff=lfs merge=lfs -text
Empty file added .nojekyll
Empty file.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# GitHub Pages Cache

Nothing to see here. The contents of this branch are essentially a cache that's not intended to be viewed on github.com.

You can view the actual documentation as it's intended to be viewed at [https://netris.io/docs/](https://netris.io/docs/)

If you're looking to update our documentation, check the relevant development branch's ['docs'](https://github.com/netrisai/docs).
4 changes: 4 additions & 0 deletions en/2.9/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 87b438ab61e542501fac234e0ef63265
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file not shown.
Binary file added en/2.9/.doctrees/accounts.doctree
Binary file not shown.
Binary file added en/2.9/.doctrees/concepts.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/environment.pickle
Binary file not shown.
Binary file added en/2.9/.doctrees/index.doctree
Binary file not shown.
Binary file added en/2.9/.doctrees/network-policies.doctree
Binary file not shown.
Binary file added en/2.9/.doctrees/release-notes.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox1/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox10/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox2/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox3/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox4/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox5/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox6/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox7/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox8/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/sandbox/Sandbox9/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/services.doctree
Binary file not shown.
Binary file not shown.
Binary file added en/2.9/.doctrees/visibility.doctree
Binary file not shown.
Empty file added en/2.9/.nojekyll
Empty file.
581 changes: 581 additions & 0 deletions en/2.9/SoftGate-agent-installation.html

Large diffs are not rendered by default.

Binary file added en/2.9/_images/ACL_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/ACL_approval.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/ACL_rule.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/BGP_neighbor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/BGP_neighbors_listing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/BGP_route.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/EVPN_routing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/IP_allocation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/IP_pool_assignment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/IPv4_Prefix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/IPv6_Prefix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/ISP_Iris.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/MAC_listing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/NATIP_address.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/NetSubnets_listing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/Port_Forwarding.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/ROH_instance.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/ROH_listing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/SiteMesh_listing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/SiteMesh_modes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/Site_Mesh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/Spine1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/TCAM.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/VNET_listing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/VNETs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/2.9/_images/V_NET.png
Binary file added en/2.9/_images/action_permit.png
Binary file added en/2.9/_images/allocation.png
Binary file added en/2.9/_images/anycast_IPv4_address.png
Binary file added en/2.9/_images/approve_reject.png
Binary file added en/2.9/_images/assignment.png
Binary file added en/2.9/_images/assignment2.png
Binary file added en/2.9/_images/community.png
Binary file added en/2.9/_images/create_link.png
Binary file added en/2.9/_images/createboard.png
Binary file added en/2.9/_images/credentials.png
Binary file added en/2.9/_images/defaultroute.png
Binary file added en/2.9/_images/edit_switch_port.png
Binary file added en/2.9/_images/globalIP.png
Binary file added en/2.9/_images/graphboard.png
Binary file added en/2.9/_images/hairpin.png
Binary file added en/2.9/_images/hairpin_topology.png
Binary file added en/2.9/_images/hardware_health.png
Binary file added en/2.9/_images/installOS.png
Binary file added en/2.9/_images/inventory_heartbeat.png
Binary file added en/2.9/_images/inventory_profile.png
Binary file added en/2.9/_images/leaf1_spine1.png
Binary file added en/2.9/_images/listing_L3.png
Binary file added en/2.9/_images/listing_L4.png
Binary file added en/2.9/_images/listing_kubenet.png
Binary file added en/2.9/_images/load-balancer.png
Binary file added en/2.9/_images/loadbalancer_listing.png
Binary file added en/2.9/_images/netris_controller_diagram.png
Binary file added en/2.9/_images/new_VNET.png
Binary file added en/2.9/_images/new_hardware.png
Binary file added en/2.9/_images/new_kubenet.png
Binary file added en/2.9/_images/password.png
Binary file added en/2.9/_images/permission_group.png
Binary file added en/2.9/_images/ping.png
Binary file added en/2.9/_images/request_L4.png
Binary file added en/2.9/_images/route-map.png
Binary file added en/2.9/_images/sandbox-l4lb-kubeapi.png
Binary file added en/2.9/_images/sandbox-l4lbs.png
Binary file added en/2.9/_images/sandbox-podinfo-prov.png
Binary file added en/2.9/_images/sandbox-podinfo-ready.png
Binary file added en/2.9/_images/sandbox_topology.png
Binary file added en/2.9/_images/sandbox_topology_n.png
Binary file added en/2.9/_images/saveasnormal.png
Binary file added en/2.9/_images/siteDefault.png
Binary file added en/2.9/_images/softgate_diagram.png
Binary file added en/2.9/_images/softgate_node.png
Binary file added en/2.9/_images/static_route.png
Binary file added en/2.9/_images/subnet_listing.png
Binary file added en/2.9/_images/switch_port.png
Binary file added en/2.9/_images/switch_port_statuses.png
Binary file added en/2.9/_images/telescope.png
Binary file added en/2.9/_images/tenants.png
Binary file added en/2.9/_images/topology_manager.png
Binary file added en/2.9/_images/uninstallOS.png
Binary file added en/2.9/_images/updateONIE.png
Binary file added en/2.9/_images/user_role.png
Binary file added en/2.9/_images/users.png
Binary file added en/2.9/_images/waiting_approval.png
139 changes: 139 additions & 0 deletions en/2.9/_sources/SoftGate-agent-installation.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
.. meta::
:description: Netris SoftGate Agent Installation

***********************************
Netris SoftGate agent installation
***********************************
Minimal hardware requirements
=============================
* 2 x Intel Silver CPU
* 96 GB RAM
* 300 GB HDD
* Nvidia Mellanox Connect-X 5 SmartNIC card

BIOS configuration
==================
The following are some recommendations on BIOS settings. Different vendors will have different BIOS naming so the following is mainly for reference:

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

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

1. Set environment variables to use Netris Controller as a proxy.

.. code-block:: shell-session
export http_proxy=http://<Your Netris Controller address>:3128 && export https_proxy=http://<Your Netris Controller address>:3128
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
2. Config the apt for Mellanox repository.

.. code-block:: shell-session
wget -qO - https://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | sudo apt-key add -
wget http://linux.mellanox.com/public/repo/mlnx_ofed/5.0-2.1.8.0/ubuntu18.04/mellanox_mlnx_ofed.list -O /tmp/mellanox_mlnx_ofed.list && sudo mv /tmp/mellanox_mlnx_ofed.list /etc/apt/sources.list.d/
3. Config the apt for Netris repository.

.. code-block:: shell-session
wget -qO - http://repo.netris.ai/repo/public.key | sudo apt-key add -
echo "deb http://repo.netris.ai/repo/ bionic main" | sudo tee /etc/apt/sources.list.d/netris.list
4. Install Mellanox drivers

.. code-block:: shell-session
sudo apt-get update && sudo apt-get install mlnx-ofed-dpdk
5. Install Netris agent package and dependencies, including specific Linux Kernel version.

.. code-block:: shell-session
sudo apt-get install netris-dpdk-mlnx
6. Configure Management IP address

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.

.. code-block:: shell-session
sudo vim /etc/network/interfaces
.. code-block:: shell-session
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address <Management IP address/prefix length>
up ip ro add <Controller address> via <Management network gateway> #delete this line if Netris Controller is located in the same network with the SoftGate node.
source /etc/network/interfaces.d/*
.. code-block:: shell-session
sudo ifreload -a
7. Initialize the SoftGate

| netris-setup parameters, described below.
| **--auth** - Authentication key, “6878C6DD88224981967F67EE2A73F092” is the default value, we strongly recommend to change this string in your controller as described in Controller initial configuration section.
| **--controller** - IP address or domain name of Netris Controller.
| **--hostname** - Specify the hostname for the current switch, this hostname should match the name defined for particular switch in the Controller..
| **--lo** - IP address for the loopback interface, as it is defined in the controller.
| **--node-prio - brief explanation of node priority goes here**
|
| Run netris-setup.
.. code-block:: shell-session
sudo /opt/netris/bin/netris-setup --lo=<SoftGate loopback IP address as defined in controller> --controller=<Netris Controller IP or FQDN> --hostname=<node name as defined in controller> --auth=<authentication key> --node-prio=<node priority 1/2>
Example: Running netris-setup

.. code-block:: shell-session
netris@ubuntu:~$ sudo /opt/netris/bin/netris-setup --lo=10.254.97.33 --controller=10.254.97.10 --hostname=softgate1 --auth=6a284d55148f81728f932b28e9d020736c8f78e1950b3d576f6e679d90516df1 --node-prio=1
* Setup Hostname
* Setup Hosts
* Setup Keepalived
* Setup Collectd
* Setup Loopback
* Get CPU List
* Setup FRR BGP Daemon
* Setup Netris Agent Config
* Setup DPDK Router Config
* Setup DPDK Router Systemd Unit
└── └── * Setup Grub Config
* Update Grub
└──
| *** ATTENTION: You must reboot SoftGate to complete the installation
| netris@ubuntu:~$
|
8. Reboot the server

.. code-block:: shell-session
sudo reboot
When server boots up, you should see it’s heartbeat status in Net→Inventory


64 changes: 64 additions & 0 deletions en/2.9/_sources/accounts.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
.. meta::
:description: Netris Controller User Account Management

########
Accounts
########

The accounts section is for the management of user accounts, access permissions, and tenants.

Users
=====
Description of User account fields:

* **Username** - Unique username.
* **Full Name** - Full Name of the user.
* **E-mail** - The email address of the user. Also used for system notifications and for password retrieval.
* **E-mail CC** - Send copies of email notifications to this address.
* **Phone Number** - User’s phone number.
* **Company** - Company the user works for. Usually useful for multi-tenant systems where the company provides Netris Controller access to customers.
* **Position** - Position within the company.
* **User Role** - When using a User Role object to define RBAC (role-based access control), Permissions Group and Tenant fields will deactivate.
* **Permission Group** - User permissions for viewing and editing parts of the Netris Controller. (if User Role is not used)
* **+Tenant** - User permissions for viewing and editing services using Switch Port and IP resources assigned to various Tenants. (if User Role is not used)

Example: Creating a user with full access to all sections of Netris Controller, read-only access to resources managed by any Tenant, and full access to resources assigned to the Tenant Admin.

.. image:: images/users.png
:align: center

**Password**: To set a password or email the user for a password form, go to the listing of usernames and click the menu on the right side.

Example: Listing of user accounts.


.. image:: images/password.png
:align: center

Tenants
=======
IP addresses and Switch Ports are network resources that can be assigned to different Tenants to have under their management. Admin is the default tenant, and by default, it owns all the resources. The concept of Tenants can be used for sharing and delegation of control over the network resources, typically used by network teams to grant access to other teams for requesting & managing network services using the Netris Controller as a self service portal or programmatically (with Kubernetes CRDs) as part of DevOps/NetOps pipeline.

A Tenant has just two fields, the unique name and custom description.

Example: Adding a tenant.

.. image:: images/tenants.png
:align: center

Permission Groups
=================
Permission Groups are a list of permissions on a per section basis that can be attached individually to a User or a User Role. Every section has a View and Edit attribute. The view defines if users with this Permission Group can see the particular section at all. Edit defines if users with this Permission Group can edit services and policies in specific sections.

Example: Permission Group.

.. image:: images/permission_group.png
:align: center

User Roles
==========
Permission Groups and Tenants can be either linked directly to an individual username or can be linked to a User Role object which then can be linked to an individual username.

.. image:: images/user_role.png
:align: center

44 changes: 44 additions & 0 deletions en/2.9/_sources/concepts.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
.. meta::
:description: Netris Core Concepts

########
Concepts
########

Introduction to Netris
======================
Netris is an automatic netops software for operating physical networks like it is a cloud. Netris automatically configures switching, routing, load-balancing, and network security based on user-defined services and policies. Netris continuously monitors the network's health and either apply software remediation or informs you of necessary actions if human intervention is required. Netris abstracts away the complexities of detailed network configuration, letting you perform efficiently by operating your physical network in a top down approach like a cloud – instead of the legacy box by box operation.


What is Netris Controller
=========================
Netris Controller is the main operations control center for engineers using GUI/RestAPI/Kubernetes, systems, and network devices. Netris Controller stores the data representing the user-defined network services and policies, health, statistics, analytics received from the network devices, and information from integration modules with external systems (Kubernetes). Netris Controller can run as a VM or container, on/off-prem, or in Netris cloud.

Diagram: High level Netris architecture.

.. image:: images/netris_controller_diagram.png
:align: center

* **Controller HA.** We highly recommend running more than one copy of the controller for database replication.
* **Multiple sites.** Netris is designed to operate multiple sites with just a single controller with HA.
* **What if the controller is unreachable.** Netris operated switches/routers can tolerate the unreachability of the Netris Controller. Changes and stats collection will be unavailable during the controller unavailability window; however, switches/routers' core operation will not be affected.

Netris Switch Agent
===================
Netris Switch Agent is software running in the user space of the network operating system (NOS) of the switch and is responsible for automatically generating the particular switch configuration according to service requirements and policies defined in the Netris Controller. Netris Switch Agent uses an encrypted GRPC protocol for secure communication with the Netris Controller accessible through a local management network or over the Internet.

Netris SoftGate
===============
Netris SoftGate is automatic configuration software and reference architecture for enabling border routing, Layer-4 Load Balancing, Network Address Translation (NAT), and site-to-site VPN function on a regular x86 server with a SmartNIC card.

Netris SoftGate supports a high-performance DPDK data plane running in the user-space. It configures the system so that packets entering the NIC (network interface card) bypass Linux Kernel and go directly to the user space application. So traffic from the NIC travels through the PCIe bus to the closest CPU’s last level cache and then into one of 8 cores, all reserved for the data-plane application. DPDK data-plane software processes the traffic for routing, load-balancing, NAT and makes necessary changes in the packet header (rewrites mac/VLAN-id) then returns the packet to the NIC, which sends it further into the switch for traveling further in Layer-2.

The server has to have 2 x Intel CPUs (8+ cores each). One CPU (closest to the SmartNIC card) is reserved for the data-plane process only (OS will report 100% CPU usage). Another CPU is used for running Linux OS, routing control plane (FRR), Netris agent, and other standard Linux utilities.

Netris agents can also configure Wireguard to form full mesh VPN tunnels between customer sites and then run necessary dynamic routing. So, servers and applications in multiple data centers can communicate over the Internet using encrypted tunnels.


Diagram: Netris SoftGate high level architecture

.. image:: images/softgate_diagram.png
:align: center
Loading

0 comments on commit 649a7ab

Please sign in to comment.