SONiC

 

wget -O sonic-vs.img.gz "https://artprodcus3.artifacts.visualstudio.com/Af91412a5-a906-4990-9d7c-f697b81fc04d/be1b070f-be15-4154-aade-b1d3bfb17054/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL21zc29uaWMvcHJvamVjdElkL2JlMWIwNzBmLWJlMTUtNDE1NC1hYWRlLWIxZDNiZmIxNzA1NC9idWlsZElkLzEwNTgyMjkvYXJ0aWZhY3ROYW1lL3NvbmljLWJ1aWxkaW1hZ2UudnM1/content?format=file&subpath=/target/sonic-vs.img.gz"


ASIC Vendors - Market leaders

  1. Broadcom
  2. marvell
  3. nvidia
  4. intel
  5. cisco
  6. nephos(mediatek)
  7. centec

Broadcom - Variants


ASIC FamilyTypical Use
Trident             Enterprise switching
TomahawkHyperscale data centers
JerichoCarrier / routing
HelixCampus networks


White-Box Switch Hardware Market Leaders

RankVendorNotes
1      Accton Technology (Edgecore)   Global leader (~20–26% share)
2Quanta Cloud Technology  Major supplier to hyperscalers
3Delta ElectronicsLarge ODM for networking hardware
4FoxconnManufactures switches for cloud providers
5Alpha NetworksWhite-box platforms for telecom/cloud
6CelesticaStrong in hyperscale switch manufacturing


1️.OEM – Original Equipment Manufacturer
An OEM makes a product that is sold by another company under its own brand.
Key idea: Manufacturer builds it, another company brands/sells it.
Example
Dell servers using CPUs from Intel
Cisco Systems switches using ASICs from Broadcom
In networking:
A switch vendor may buy ASIC + hardware platform and sell it as their product.
Example flow
Broadcom → provides ASIC
Hardware vendor → builds switch
Cisco → sells under Cisco brand

2️.ODM – Original Design Manufacturer
An ODM designs AND manufactures the product, and another company simply brands it and sells it.
Key idea: Design + manufacturing done by ODM.
Example
Quanta Cloud Technology builds switches that companies sell with their own logo.
Accton Technology builds white-box switches used in SONiC environments.
Typical in whitebox networking.
Example:
Accton → designs switch
Accton → manufactures
Customer company → puts their brand and sells
Companies using ODM hardware:
Microsoft
Amazon
Meta Platforms

3️.JDM – Joint Design Manufacturer
A JDM works with the customer to co-design the product.
Key idea: Customer + manufacturer design together.
This is common in hyperscalers.
Example:
Meta + Accton → jointly design switch
Accton → manufactures
Meta → uses internally
Companies like:
Meta Platforms
Google
Microsoft
use JDM for custom datacenter hardware.



Paths

root@spine:/etc/sonic# ls
asic_table.json  config_db.json  copp_cfg.json  init_cfg.json  port_breakout_config_db.json  sonic_version.yml  zero_profiles.json

root@spine:/etc/frr# ls
daemons  frr.conf  frr.conf.sav  support_bundle_commands.conf  vtysh.conf  zebra.conf


/etc/sonic/config_db.json is the single most important file in SONiC. It stores the entire running configuration — interfaces, VLANs, IP addresses, BGP neighbours, ACLs, QoS policies, port channels, and more. At boot, sonic-cfggen reads this and loads it into Redis CONFIG_DB. All config CLI commands ultimately write back to this file.

/etc/sonic/device_metadata.json holds the switch's identity — hostname, hardware SKU (hwsku), platform type, MAC address, default Docker routing mode, and timezone. Used heavily during initial config generation.

/etc/sonic/frr/ contains FRRouting configuration files — bgpd.conf, zebra.conf, ospfd.conf, staticd.conf. These govern L3 routing protocols and are managed by the bgpcfgd daemon.



root@spine:/etc/frr# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         8     0  0 Mar15 ?        00:06:05 /usr/bin/python3 /usr/local/bin/supervisord
root        50     8  0 Mar15 ?        00:01:06 /usr/sbin/rsyslogd -n
root        55     8  0 Mar15 ?        00:24:07 /usr/bin/redis-server 127.0.0.1:6379
root        86     8  0 Mar15 ?        00:02:05 /usr/bin/syncd -u -s -B null -l -p /usr/share/sonic/hwsku/sai.profile
root       110     8  0 Mar15 ?        00:00:59 /usr/bin/portsyncd
root       113     8  0 Mar15 ?        00:20:55 /usr/bin/orchagent -d /var/log/swss -b 8192 -s -m be:f6:81:41:f4:35
root       232     8  0 Mar15 ?        00:01:00 /usr/bin/coppmgrd
root       259     8  0 Mar15 ?        00:00:39 /usr/bin/neighsyncd
root       262     8  0 Mar15 ?        00:00:33 /usr/bin/fdbsyncd
root       265     8  0 Mar15 ?        00:00:59 /usr/bin/teamsyncd
root       268     8  0 Mar15 ?        00:00:29 /usr/bin/fpmsyncd
root       271     8  0 Mar15 ?        00:01:01 /usr/bin/teammgrd
root       274     8  0 Mar15 ?        00:01:00 /usr/bin/vrfmgrd
root       287     8  0 Mar15 ?        00:00:59 /usr/bin/portmgrd
root       418     8  0 Mar15 ?        00:01:02 /usr/bin/intfmgrd
root       424     8  0 Mar15 ?        00:01:01 /usr/bin/vlanmgrd
root       455     8  0 Mar15 ?        00:01:02 /usr/bin/buffermgrd -l /usr/share/sonic/hwsku/pg_profile_lookup.ini
root       459     8  0 Mar15 ?        00:01:01 /usr/bin/nbrmgrd
root       462     8  0 Mar15 ?        00:01:01 /usr/bin/vxlanmgrd
root       469     8  0 Mar15 ?        00:01:01 /usr/bin/sflowmgrd
root       472     8  0 Mar15 ?        00:01:03 /usr/bin/natmgrd
root       475     8  0 Mar15 ?        00:07:22 /usr/bin/natsyncd
root       478     8  0 Mar15 ?        00:01:01 /usr/bin/tunnelmgrd

root       483     8  0 Mar15 ?        00:01:00 /usr/bin/fabricmgrd
frr        450     8  0 Mar15 ?        00:00:00 /usr/lib/frr/mgmtd -A 127.0.0.1
frr        537     8  0 Mar15 ?        00:00:05 /usr/lib/frr/bgpd -A 127.0.0.1
frr        530     8  0 Mar15 ?        00:01:26 /usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_sonic --asic-offload=notify_on_offload
frr        452     8  0 Mar15 ?        00:00:00 /usr/lib/frr/staticd -A 127.0.0.1




Comments

Popular posts from this blog

eBGP sonic lab + Ansible config & validation

SONiC-2

RDMA RoCE