Skip to content

ACL Configuration High Level Design

Oleksandr Ivantsiv edited this page Aug 11, 2017 · 5 revisions

Draft. Under development

ACL Configuration in SONiC

High Level Design Document

Revision 0.1

List of Tables

Table 1: Revision
Rev Date Author Change Description
0.1 Oleksandr Ivantsiv Initial version

About this Manual

This document provides general information about the ACL configuration implementation in SONiC.

Scope

This document describes the high-level design of the ACL configuration.

1.1 System Chart

Following diagram describes a top level overview of the SONiC ACL configuration components: TODO: Image

1.2 Modules description

TODO

2 Subsystem Requirements Overview

TODO: Reference to page with requirements

3 Modules Design

3.1 Modules that need to be modified or added

3.1.1 Config DB

3.1.1.1 Config DB schema

3.1.1.1.1 ACL_TABLE
key           = ACL_TABLE:name          ; acl_table_name must be unique
;field        = value
policy_desc   = 1*255VCHAR              ; name of the ACL policy table description
type          = "mirror"/"l3"           ; type of acl table, every type of
                                        ; table defines the match/action a
                                        ; specific set of match and actions.
ports         = [0-max_ports]*port_name ; the ports to which this ACL
                                        ; table is applied, can be emtry
                                        ; value annotations. Supports phisycal port, 
                                        ; port channels and VLAN interfaces. 
port_name     = 1*64VCHAR               ; name of the port, must be unique
max_ports     = 1*5DIGIT                ; number of ports supported on the chip
3.1.1.1.2 MIRROR_SESSION
key       = MIRROR_SESSION:mirror_session_name    ; mirror_session_name is      
                                                  ; unique session 
                                                  ; identifier
; field   = value
status    = "active/inactive"   ; Session state.
src_ip    = <ip_addr>           ; Optional. Session souce IP address                    
dst_ip    = <ip_addr>           ; Session destination IP address
gre_type  = <uint16_t>          ; Optional. Session GRE protocol type
dscp      = <uint8_t>           ; Optional. Session DSCP
ttl       = <uint8_t>           ; Session TTL
queue     = <uint8_t>           ; Optional. Session output queue

If optional value is not specified it will be filled with platform dependent default.

3.1.1.1.3 ACL_RULE

3.1.2 ACL config DB client

3.1.3 SWSS

3.1.4 Minigraph parser

3.1.5 ACL loader

3.1.6 CLI

Clone this wiki locally