Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 2.09 KB

File metadata and controls

64 lines (42 loc) · 2.09 KB

2. Assumptions About the Reader

This document assumes the reader has basic familiarity with several core areas of networking and Linux, but does not require prior experience with SONiC, Redis, or SAI. Any SONiC-specific concepts are introduced as they appear.

2.1 Networking Knowledge

The reader is expected to understand:

  • Layer-2 concepts: MAC addresses, switching, VLANs (tagged and untagged ports)
  • Layer-3 concepts: IP addressing, routing, ARP/ND
  • Basic forwarding pipeline ideas (ingress → lookup → egress)

Deep knowledge of ASIC pipelines is not required; relevant aspects of SAI and the hardware behavior are explained where needed.

2.2 Linux & System Concepts

The reader should be comfortable with:

  • Running commands such as ip link, bridge, ip addr, ip neigh
  • Understanding network interfaces, bridges, and system logs
  • Basics of systemd, containers, and process supervision
  • Reading / interpreting log messages

No kernel-level programming experience is required.

Appendix A provides a Linux netlink primer.

2.3 Redis Familiarity

The reader is not required to know Redis. The following assumptions are made:

  • Reader understands the idea of a database with keys and values
  • Reader knows that multiple logical Redis databases can exist
  • The document explains SONiC’s conventions:
    • Table-name and key concatenation using TABLE|KEY1|KEY2
    • Tables stored as Redis hashes
    • Basic commands like HGETALL, HSET, KEYS, DEL

Appendix B provides a practical Redis primer used throughout SONiC.

2.4 SONiC Background

No prior SONiC experience is required. The document explains:

  • Containers used by SONiC (database, swss, syncd, bgp, etc.)
  • How processes communicate through Redis and netlink
  • How orchagent and syncd operate
  • How configuration flows top-down and how state flows bottom-up

2.5 What Is Not Required

The reader does not need:

  • Routing protocol implementation knowledge
  • FRR internals
  • ASIC vendor SDK knowledge
  • SAI expertise
  • Prior work with netlink sockets

Everything necessary is introduced within the sections or appendices.