• Everflow in SONiC
  • High Level Design Document
  • Revision 0.1
  • Revision 0.2 2019/07/01 In-progress
  • Table of Contents
  • List of Tables
  • Table 1: Revision
  • About this Manual
  • Scope
  • Definitions/Abbreviation
  • Table 2: Abbreviations
  • 1 Sub-system Overview
  • 1.1 System Chart
  • 1.2 Modules description
  • 1.2.1 swssconfig
  • 1.2.2 App DB
  • 1.2.3 Orchestration Agent
  • 1.2.4 SAI Redis
  • 1.2.5 SAI DB
  • 1.2.6 syncd
  • 1.2.7 SAI (Redis and Switch)
  • 2 Subsystem Requirements Overview
  • 2.1 Functional requirements
  • 2.1.1 Setup session
  • 2.1.2 Multiple ERSPAN sessions (S)
  • 2.1.3 ACL rule capability (M)
  • 2.1.4 Match User Defined Field (S)
  • 2.1.5 Packet drop mirroring capability (S)
  • 2.1.6 Misc
  • 2.2 Scalability requirements
  • 3 Modules Design
  • 3.1 Modules that needs to be updated
  • 3.1.1 Swssconfig
  • 3.1.1.1 Everflow configuration types
  • 3.1.1.2 Config file example
  • 3.1.2 App DB
  • 3.1.2.1 App DB Schema Reference
  • 3.1.2.2 App DB Schema Details
  • 3.1.3 Orchestration Agent
  • 3.1.3.1 Callbacks mechanism
  • 3.1.3.2 Subject Type
  • 3.1.3.3 Observer Class
  • 3.1.3.4 Subject Class
  • 3.1.3.5 Route API
  • 3.1.3.5.1 Route Update Context
  • 3.1.3.5.2 Route Orchestration
  • 3.1.3.6 Neighbor API
  • 3.1.3.6.1 Neighbor Update Context
  • 3.1.3.6.2 Neighbor Orchestration
  • 3.1.3.7 Port API
  • 3.1.3.7.1 Port Update Context
  • 3.1.3.7.2 Port Orchestration
  • 3.1.3.8 Mirror API
  • 3.1.3.8.1 DST MAC address and port resolution algorithm
  • 3.1.3.8.2 Mirror Update Context
  • 3.1.3.8.3 Mirror Orchestration
  • 3.1.3.9 FDB API
  • 3.1.3.9.1 FDB Update Context
  • 3.1.3.9.2 FDB Orchestration
  • 3.1.4 SAI Redis
  • 3.1.5 SAI DB
  • 3.1.6 Syncd
  • 3.1.7 SAI
  • 4 Flows
  • 4.1 Init
  • 4.2 Load config
  • 4.3 Session create
  • 4.4 Handle next hop update callback
  • 4.5 Handle neighbor add callback
  • 4.6 Handle neighbor remove callback
  • 4.7 Handle FDB entry add callback
  • 4.8 Handle FDB entry remove callback
  • 4.9 Handle LAG/VLAN interface remove callback
  • 4.10 Handle LAG/VLAN interface member remove callback
  • 4.11 Session remove
  • 5 Open Questions