You are on page 1of 4

NOS Solution

Option 1: SAI + CPSS + Openwrt


• Sử dụng toàn bộ tính năng của FRR.
Openwrt
• Sử dụng SAI, gọi đến CPSS API.
FRR
• Toàn bộ bảng L2 và L3 đưa lên Bridge Iproute2
Zebra
userspace bằng netlink.
• Đánh giá: Netlink
SAI SDK
• Chỉ cần đọc mô tả CPSS API và litstener

truyền đúng tham số là cấu hình User space CPSS


được. ASIC
Netlink
• Luôn phải chạy SAI trên user Kernel
DMA
driver &
space. space ASIC
Interupt
ARP FDB FIB
• CPSS support đầy đủ tính năng, driver
Switch core
và các tính năng này có thể Lport 1 Lport 2 Lport 3 Lport N
OAM
adapter (CPU
chưa support bởi netlink và DSA driver port / CnM
Ethernet
SAI, cần phải sửa netlink và controler + DSA
SAI. tag)

• Yêu cầu phải hiểu SAI và CPSS Switching Core

API
Port Port Port Port Port Port
1 2 3 4 5 6
Option 2: Flow tables (L3) + switch dev (L2) + Openwrt
• Với các tính năng L2, sử dụng Openwrt
switchdev để lấy tham số và truyền
xuống asic (giống clearfog-gt-8k + FRR
Bridge Iproute2
mv6141). Zebra

• Với L3, hiện có flowtable, sử dụng


cơ chế offload của openwrt hoặc của
linux thuần (tham khảo mellanox)
User space
• Đánh giá:
Netlink
• Dựa vào code CPSS tương tác Kernel
với switch core adapter (SCA), space Netfilter + Conntrack + Flow table Offloading driver
viết code tương ứng cho giúp Linux bridge (L2) Switch dev

switchdev và ofload driver Lport 1 Lport 2 Lport 3 Lport N Switch core


tương tác với SCA. DSA driver
OAM adapter (CPU
port / CnM
• Không phụ thuộc vào CPSS và Ethernet controler
SAI. + DSA tag)

• Yêu cầu hiểu switch dev, flow Switching Core


tables, code dưới kernel mất
Port Port Port Port Port Port
nhiều thời gian debug 1 2 3 4 5 6
CnM Subsystem và Switching core
• Switching Core gửi và nhận dữ liệu
từ CnM thông qua 2 interface:
• CPU port: Sử dụng Tx/Rx SDMA
• CnM Ethernet controller + DSA tag

You might also like