SONiC Lite is a lightweight version of Community SONiC designed to run on cost-effective management and access switches with limited CPU performance, reduced RAM, and storage size. The PLVision team optimized the SONiC part of the product, ensuring that the modifications do not impact vendor-specific components like SAI, platform, etc.
In addition to various cleanups and optimizations, SONiC Lite provides extended functionality, including PoE, xSTP, and Static routing.
- Reduced CPU utilization
- Reduced RAM consumption
- Reduced image size
- Removed unused kernel modules
- Removed unused files
- Transition to a “slim” Docker base
- CPU: 2 cores (low/middle performance)
- RAM: 2Gb
- Storage: Approximately 3 Gb
SONiC Lite's Access Switch Use Case
The access layer, the lowest hierarchical inter-networking model, connects end-users or end nodes (such as PCs, printers, and wireless access points) to the network. This layer ensures continuous network connectivity for end devices regardless of their location. The design of the Layer 1 (L1) access layer is influenced by the connections at the upper layers.
Out-of-Band (OOB) Management Switch Use Case
Among its various use cases, SONiC Lite is a streamlined network OS distribution specifically designed for OOB management switches in data center, edge, and campus networks. Optimized for network management under a unified control plane, SONiC Lite offers a cost-effective, efficient, and scalable solution that simplifies the monitoring and maintenance of network devices.
SONiC Lite Features
The access switch predefines this feature list:
- TACACS+
- RADIUS
- 802.1x
- OLS Client
- LLDP
- xSTP
- DHCP Server
- VLAN
- LACP
- IPv4/IPv6
- Static routing
- QoS
- Storm Control
- PoE++
- ACL (L3-L4)
- SONiC 202405 as baseline
Test Topology Example
Host 1 acts as an end-user, obtains IP configuration from DHCP server.
DHCP Server provides IP configuration for end-users (has configured isc-dhcp server instance).
SONiC Lite 1, 2, 3 provide network access service for end-users. They have the same configurations:
- VLAN 100 (ports connected to Host and DHCP server in access mode, connections between SONiC boxes working in trunk mode)
- LACP
- LAG/LACP (connection between SONiC 1 and SONiC 2 is static, other LAG connections use LACP for dynamic configuration)
- PVST
- DHCP relay
- Routing
Setting Up SONiC Lite
Infrastructure. The topology is emulated on the GNS3 application. The DHCP Server appliance and host can be downloaded from the GNS3 marketplace. The SONiC Lite appliance is imported according to this instruction.
The GNS3 limitations: since we a running virtual machine we can not test HW dependent features (QoS, PoE, ACL etc.). To emulate link failure, we need to disable interfaces on both sides.
DHCP server. The ISC DHCP server should be deployed.
1. Assign IP address: ip addr add 100.100.1.15/24 dev eth1
2. Update dhcp configuration (/etc/dhcp/dhcpd.conf), add following section:
Subnet 100.100.1.0 netmask 255.255.255.0
{
range 100.100.1.10 100.100.1.100;
option routers 100.100.1.1;
Interface eth1;
}
3. Update dhcp server configuration (/etc/default/isc-dhcp-server), add line: INTERFACESv4=”eth1″
4. Start or restart dhcp service: service isc-dhcp-server start or service isc-dhcp-server restart
5. Check dhcp service status: service isc-dhcp-server status
SONiC Lite configuration:
1. Remove IP address from interfaces:
sudo config interface ip remove Ethernet0 10.0.0.0/31
sudo config interface ip remove Ethernet4 10.0.0.2/31
sudo config interface ip remove Ethernet8 10.0.0.4/31
sudo config interface ip remove Ethernet12 10.0.0.6/31
sudo config interface ip remove Ethernet16 10.0.0.8/31
2. Create port channel interfaces:
sudo config portchannel add --static true PortChannel1
sudo config portchannel member add PortChannel1 Ethernet4
sudo config portchannel member add PortChannel1 Ethernet8
sudo config portchannel add PortChannel2
sudo config portchannel member add PortChannel2 Ethernet12
sudo config portchannel member add PortChannel2 Ethernet16
3. Create VLANs, add ports and IP address:
sudo config vlan add 100
sudo config vlan member add -u 100 Ethernet0
sudo config vlan member add 100 PortChannel1
sudo config vlan member add 100 PortChannel2
sudo config interface ip add Vlan100 100.100.1.1/24
4. Configure DHCP relay:
sudo config feature state dhcp_relay enabled
sudo config vlan dhcp_relay add 100 100.100.1.15
5. Enable PVST:
sudo config spanning-tree enable pvst
6. Check status:
show vlan brief
show interfaces portchannel
show lldp neigbours
show spanning-tree
DHCP client:
1. Generate dhcp request: dhclient Ethernet0
2. Check interface address: ip addr show dev Ethernet0
3. Check connectivity: ping 100.100.1.15
About Protocols
VLAN: A virtual local area network (VLAN) is a segment of the network that is partitioned and isolated at the data link layer (OSI layer 2). VLANs work by applying tags to network frames and handling these tags in networking systems, creating the appearance and functionality of network traffic that is physically on a single network but acts as if it is split between separate networks. In this way, VLANs can keep network applications separate, despite being connected to the same physical network. It allows engineers to organize the infrastructure without deployment of multiple sets of cabling and networking devices.
Using VLANs network administrators can group hosts together even if the hosts are not directly connected to the same network switch and configure VLAN membership remotely. This functionality makes deployment and network design easier.
STP (PVST): The Spanning Tree Protocol (STP) is a network protocol that builds a loop-free logical topology for Ethernet networks. The primary function of STP is to prevent bridge loops and broadcast radiation caused by these loops. STP also allows to include backup links providing fault tolerance if an active link fails into the network design.
RSTP (Rapid RSP): provides significantly faster spanning tree convergence due to the topology changes that introduce new convergence behaviors and bridge port roles.
LACP/LAG: The Link Aggregation Control Protocol (LACP) provides a method to control the bundling of several physical links together to form a single logical link. LACP allows a network device to negotiate an automatic bundling of links by sending LACP packets to their peer: a directly connected device that also implements LACP.
LACP works by sending frames (LACPDUs) down all links that have the protocol enabled. If it finds a device on the other end of a link that also has LACP enabled, that device will independently send frames along the same links in the opposite direction enabling two units to detect excessive links between themselves and configure them into a single logical link. LACP can be set into one of two modes: active or passive. In the active mode, LACPDUs are sent 1 per second down the configured links. In passive mode, LACPDUs are not sent until one is received from the other side according to a speak-when-spoken-to protocol.
LLDP: The Link Layer Discovery Protocol (LLDP) is a vendor-neutral link layer protocol used by network devices for advertising their identity, capabilities, and neighbors in the local area network. LLDP is a functionality for network management and monitoring of network applications.
LLDP information is sent by devices from their interfaces at a fixed interval in the Ethernet frame form. Each frame contains one LLDP Data Unit (LLDPDU). Each LLDPDU is a sequence of type–length–value (TLV) structures that start with the following mandatory TLVs: Chassis ID, Port ID, and Time-to-Live. The mandatory TLVs are followed by any number of optional TLVs. The frame optionally ends with a special TLV ( end of LLDPDU) in which both the type and length fields are 0.
Try out SONiC Lite demo version
Fill out the form to access demo. Your download will start automatically (available only on PC) and may take some time.