From e51c42317a2dcc9f26e809ff0ee09cc89c2b126f Mon Sep 17 00:00:00 2001 From: Amulya Makam Date: Tue, 1 Dec 2020 04:06:02 -0800 Subject: [PATCH 1/9] L3 Vlan interface scaling HLD --- .../L3_Vlan_interface_scaling.md | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 L3/L3_performance_and_scaling_enhancements/L3_Vlan_interface_scaling.md diff --git a/L3/L3_performance_and_scaling_enhancements/L3_Vlan_interface_scaling.md b/L3/L3_performance_and_scaling_enhancements/L3_Vlan_interface_scaling.md new file mode 100644 index 000000000000..27bcead91fd2 --- /dev/null +++ b/L3/L3_performance_and_scaling_enhancements/L3_Vlan_interface_scaling.md @@ -0,0 +1,137 @@ +# L3 Vlan Interface Scaling +Layer 3 Vlan Interface Scaling + +# High Level Design Document +#### Rev 0.1 + +# Table of Contents + * [List of Tables](#list-of-tables) + * [Revision](#revision) + * [About This Manual](#about-this-manual) + * [Scope](#scope) + * [Definition/Abbreviation](#definitionabbreviation) + +# List of Tables +[Table 1: Abbreviations](#table-1-abbreviations) + +# Revision +| Rev | Date | Author | Change Description | +|:---:|:-----------:|:------------------:|-----------------------------------| +| 0.1 | 11/25/2020 | Amulya Makam | Initial version | + +# About this Manual +This document provides information about the Layer 3 Vlan interface scaling achieved in SONIC 3.2.0 release. + +# Scope +This document describes the high level design of Layer 3 Vlan interface scaling achieved using mystation tcam optimisation.Implementation of warm reboot support for upgrade scenario. +Supported platforms include TH,TH2,TD3 + +# Definition/Abbreviation +### Table 1: Abbreviations + +| **Term** | ***Meaning*** | +|-------------------|--------------------------------------------| +| SONIC | Software for Open Networking in the Cloud | +| SVI | Switch Virtual Interface | +| SAG | Static Anycast Gateway | +| MCLAG | Multi Chassis Link Aggregation | +| VSI | Virtual Switch Interface | + +## 1.1 Functional Requirements +# 1 Requirement Overview +SONIC currently supports a maximum of 1k L3 Vlan interfaces on Broadcom hardware. By design L3 Interface scaling is limited by MyStationTcam entries in HW. One l3 interface in SONIC will consume one myStationTcam entry per MAC, if the L3 interface has multiple MAC say for SAG/VRRP, then as many number of MyStationTcam entries will be used. This is because for every L3 Interface in addition to MAC either Vlan or the phy port is used as the key. So if we have 1K SVI then it will consume all the available MyStationTcam entries (1K). + +## 1.1 Functional Requirements +Scaling improvements +- Support for 4k SVI interfaces +- Support for 4k SAG MAC configured SVI interfaces +- Support for 4k MCLAG Gateway MAC configured SVI interfaces +Only one of the above can exist at one time as the maximum supported Vlan interfaces is 4k. + +## 1.2 Configuration and Management Requirements +No new configuration or show commands introduced. + +## 1.3 Scalability Requirements +Covered in Functional requirements + +## 1.4 Warm Boot Requirements +Upgrade to higher version should take care of installing one entry per MAC and delete the individual station tcam entries per SVI. + +# 2 Design + +## 2.1 MyStationTcam lookup key modification +Use only MAC as the key for MyStationTcam entries, this will give way to use only one MyStationTcam entry for all SVI interfaces, i.e, we could be able to scale to 4K L3 Interfaces. This change is for the following 3 MACs only. +1. System MAC +2. SAG MAC +3. McLAG Gateway MAC +No change in VRRP VMAC programming. +For SVI interfaces the lookup keys is only (DMAC) +For Phy interfaces / RouterPorts the lookup key is retained the same [Port Id + DMAC] +For LAG router interfaces the lookup key is retained the same [Trunk Id + DMAC] + +## 2.2 MyStationTcam programming +A new data structure is added and is managed by the sai data manager.This data structure handles the list of Vlan interfaces associated with the given mac and the corresponding MyStationTcam hardware id. +When the first SVI interface configured with any of the above macs the corresponding tcam entry gets added. When the last SVI interface associated with the mac is deleted , the corresponding tcam entry will be deleted. + +## 2.3 Routing behaviour differences +With the key change to only (MAC) from (MAC,Vlan), if the SVI interfaces are configured each with one type of MAC. Station tcam will look like below now. +For example +1. System MAC - 3c2c992ed875 +2. SAG MAC - 222244445555 +3. MCLAG Gateway MAC - 050608060500 +drivshell>d chg my_station_tcam +d chg my_station_tcam +MY_STATION_TCAM.ipipe0[0]: +MY_STATION_TCAM.ipipe0[1]: +MY_STATION_TCAM.ipipe0[3]: + +### 2.3.1 Special cases +If a packet comes with (DA=System MAC ,Vlan = SAG vlan or MCLAG vlan or L2 vlan). It will be subjected to routing due to current station tcam entry. +If a packet comes with (DA=SAG MAC, Vlan= !SAG vlan). It will be subjected to routing. +If a packet comes with (DA=MCLAG Gateway MAC, Vlan = !MCLAG Vlan). It will be subjected to routing. +If a packet comes with (DA=Any of the above three macs, Vlan=L2). It will be subjected to routing. +Inorder to address these cases, added below IFP rules during system bringup. Also, counters attached to each of the drop rules. + +### 2.3.2 VSI Profile +For each SVI interface there is a VSI profile maintained to classify the SVI interfaces. +2 VSI profile bits are consumed. One to identify the SAG MAC vlan and another to identify the MCLAG Gateway MAC vlan. + +#define _BRCM_SAI_VSI_L3_INTF (1<<0) +#define _BRCM_SAI_VSI_SUPPRESS_NEIGH_L3_INTF (1<<1) +#define _BRCM_SAI_VSI_SAG_MAC_L3_INTF (1<<2)------->SAG MAC VSI +#define _BRCM_SAI_VSI_ROUTER_MAC_L3_INTF (1<<3)------->MCLAG Gateway MAC VSI +#define _BRCM_SAI_MAX_VSI_PROFILE_BITS_LENGTH 4 + +### 2.3.2 IFP Drop rules + +1. DA=System MAC Vlan = SAG VSI profile ---> Drop +2. DA=System MAC Vlan = MCLAG VSI profile ---> Drop +3. DA=MCLAG GWMAC Vlan = !MCLAG VSI profile ---> Drop +4. DA=System MAC Vlan = L2 vlan ---> Drop + +# 4 Warm Boot Support +Upgrade scenario will be supported. It will be make before break. On upgrade to higher version, one entry per each of the MACs will be programmed first, followed by deletion of all the individual entries programmed per each SVI interface. + +# 5 Unit Test +Configure setup with base MCLAG config. +Configure SAG MAC,MCLAG Gateway MAC. +Configure SAG SVI interface, MCLAG Gateway MAC SVI interface and plain L3 SVI interface. + +Testcase | Validate | Remarks | + 1. | Send l3 pkt with DA= System MAC vlan=SAG vlan | Packet should be dropped| + 2. | Send l3 pkt with DA= System MAC vlan=MCLAG vlan | Packet should be dropped| + 3. | Send l3 pkt with DA= System MAC vlan=L2 vlan | Packet should be dropped| + 4. | Send l3 pkt with DA= System MAC vlan=L3 vlan | Packet should be routed| + 5. | Send l3 pkt with DA= SAG MAC vlan=MCLAG vlan | Packet should be routed| + 6. | Send l3 pkt with DA= SAG MAC vlan=SAG vlan | Packet should be routed| + 7. | Send l3 pkt with DA= SAG MAC vlan=L3 vlan | Packet should be routed| + 8. | Send l3 pkt with DA= SAG MAC vlan=L2 vlan | Packet should be routed| + 9. | Send l3 pkt with DA= MCLAG Gw MAC vlan=L2 vlan | Packet should be dropped| + 10. | Send l3 pkt with DA= MCLAG Gw MAC vlan=SAG vlan | Packet should be dropped| + 11. | Send l3 pkt with DA= MCLAG Gw MAC vlan=L3 vlan | Packet should be dropped| + 12. | Send l3 pkt with DA= MCLAG Gw MAC vlan=MCLAG vlan | Packet should be routed| + + +# 6 Internal Design Information +NA + From 40c174f7b4c070dde4a14a0c37fa7d58cc03e10f Mon Sep 17 00:00:00 2001 From: Abhishek Dharwadkar Date: Sat, 5 Dec 2020 00:04:42 -0800 Subject: [PATCH 2/9] ACL HLD update for ACL-COPP, PBR enhancements for service chaining and ACL/FBS support on subinterfaces --- L24Services/ACL/ACLEnhancements.md | 736 ++++++++++++------ L24Services/ACL/images/ACLEvalMultiIntf.png | Bin 25271 -> 54850 bytes L24Services/ACL/images/ACLStages.png | Bin 50008 -> 75232 bytes L24Services/ACL/images/PBRNhGrpDirect.png | Bin 0 -> 47038 bytes L24Services/ACL/images/PBRNhGrpIndirect.png | Bin 0 -> 92672 bytes L24Services/ACL/images/PolicyEval.png | Bin 38840 -> 31243 bytes L24Services/ACL/images/PolicyEvalMultiHit.png | Bin 38361 -> 31284 bytes .../ACL/images/PolicyEvalMultiIntf.png | Bin 17675 -> 33807 bytes .../ACL/images/PolicyEvalMultiPolicy.png | Bin 24131 -> 30931 bytes 9 files changed, 510 insertions(+), 226 deletions(-) create mode 100644 L24Services/ACL/images/PBRNhGrpDirect.png create mode 100644 L24Services/ACL/images/PBRNhGrpIndirect.png diff --git a/L24Services/ACL/ACLEnhancements.md b/L24Services/ACL/ACLEnhancements.md index e70b179cabd4..060ad635457a 100644 --- a/L24Services/ACL/ACLEnhancements.md +++ b/L24Services/ACL/ACLEnhancements.md @@ -1,19 +1,21 @@ # ACL and Flow Based Services in SONiC -High level design document version 0.5 +High level design document version 0.6 # Table of Contents - **[List of Tables](#list-of-tables)** - **[Revision](#revision)** - **[About this Manual](#about-this-manual)** - **[Scope](#scope)** -- **[Definition / Abbreviation](#definition-_-abbreviation)** +- **[Definition / Abbreviation](#definition--abbreviation)** - [Table 1 Abbreviations](#table-1-abbreviations) - **[1 Feature Overview](#1-feature-overview)** - [1.1 Access control Lists](#11-access-control-lists) - [1.2 Flow Based Services](#12-flow-based-services) - - [1.2.1 Forwarding flow based services](#121-forwarding-flow-based-services) + - [1.2.1 QoS flow based services](#121-qos-flow-based-services) + - [1.2.2 Forwarding flow based services](#122-forwarding-flow-based-services) + - [1.2.3 ACL CoPP flow based services](#123-acl-copp-flow-based-services) - [1.3 Requirements](#13-requirements) - [1.3.1 Functional Requirements](#131-functional-requirements) - [1.3.2 Configuration and Management Requirements](#132-configuration-and-management-requirements) @@ -32,31 +34,34 @@ High level design document version 0.5 - [2.2.1.1 ACL enhancements for table of type l3 and l3v6](#2211-acl-enhancements-for-table-of-type-l3-and-l3v6) - [2.2.1.2 L2 ACLs](#2212-l2-acls) - [2.2.1.3 VLAN ACLs](#2213-vlan-acls) - - [2.2.1.4 Switch ACLs](#2214-switch-acls) + - [2.2.1.4 Switch / Global ACLs](#2214-switch--global-acls) - [2.2.1.5 ACL Lookup mode](#2215-acl-lookup-mode) - [2.2.1.6 Default rule for ACL tables of type l2, l3 and l3v6](#2216-default-rule-for-acl-tables-of-type-l2-l3-and-l3v6) - [2.2.1.7 Evaluation of ACLs applied on different interfaces](#2217-evaluation-of-acls-applied-on-different-interfaces) - - [2.2.1.8 Interaction of L2 and IPv4 / IPv6 ACLs](#2218-interaction-of-l2-and-ipv4-_-ipv6-acls) + - [2.2.1.8 Interaction of L2 and IPv4 / IPv6 ACLs](#2218-interaction-of-l2-and-ipv4--ipv6-acls) - [2.2.2 Flow based services](#222-flow-based-services) - [2.2.2.1 Classifiers](#2221-classifiers) - *[2.2.2.1.1 Classification using ACLs](#22211-classification-using-acls)* - - *[2.2.2.1.1.1 ACL Rules with permit action](#222111-acl-rules-with-permit-action)* - - *[2.2.2.1.1.2 ACL Rules with deny action](#222112-acl-rules-with-deny-action)* + - *[2.2.2.1.1.1 ACL Rules with permit / transit action](#222111-acl-rules-with-permit--transit-action)* + - *[2.2.2.1.1.2 ACL Rules with deny / discard action](#222112-acl-rules-with-deny--discard-action)* - *[2.2.2.1.2 Classification using L2-L4 header fields](#22212-classification-using-l2-l4-header-fields)* - [2.2.2.2 Policies](#2222-policies) - *[2.2.2.2.1 Policy of type QoS](#22221-policy-of-type-qos)* - *[2.2.2.2.2 Policy of type Monitoring](#22222-policy-of-type-monitoring)* - *[2.2.2.2.3 Policy of type Forwarding](#22223-policy-of-type-forwarding)* - - [2.2.2.3 Applying policies to interfaces](#2223-applying-policies-to-interfaces) - - *[2.2.2.3.1 Evaluation of traffic within the same policy](#22231-evaluation-of-traffic-within-the-same-policy)* - - *[2.2.2.3.2 Evaluation of traffic across interfaces of same types](#22232-evaluation-of-traffic-across-interfaces-of-same-types)* - - *[2.2.2.3.3 Evaluation of traffic across interfaces of different types](#22233-evaluation-of-traffic-across-interfaces-of-different-types)* - - *[2.2.2.3.4 Evaluation of traffic across policies of different types](#22234-evaluation-of-traffic-across-policies-of-different-types)* + - *[2.2.2.2.4 Policy of type ACL-COPP](#22224-policy-of-type-acl-copp)* + - [2.2.2.3 Policy based forwarding next-hop groups](#2223-policy-based-forwarding-next-hop-groups) + - [2.2.2.4 Applying policies to interfaces](#2224-applying-policies-to-interfaces) + - *[2.2.2.4.1 Evaluation of traffic within the same policy](#22241-evaluation-of-traffic-within-the-same-policy)* + - *[2.2.2.4.2 Evaluation of traffic across interfaces of same types](#22242-evaluation-of-traffic-across-interfaces-of-same-types)* + - *[2.2.2.4.3 Evaluation of traffic across interfaces of different types](#22243-evaluation-of-traffic-across-interfaces-of-different-types)* + - *[2.2.2.4.4 Evaluation of traffic across policies of different types](#22244-evaluation-of-traffic-across-policies-of-different-types)* - [2.3 Feature support matrix](#23-feature-support-matrix) - [2.3.1 Policy Type support](#231-policy-type-support) - [2.3.2 QoS policy actions support](#232-qos-policy-actions-support) - [2.3.3 Monitoring policy actions support](#233-monitoring-policy-actions-support) - [2.3.4 Forwarding policy actions support](#234-forwarding-policy-actions-support) + - [2.3.5 ACL-COPP Policy actions support](#235-acl-copp-policy-actions-support) - **[3 Design](#3-design)** - [3.1 Overview](#31-overview) - [3.2 DB Changes](#32-db-changes) @@ -70,14 +75,17 @@ High level design document version 0.5 - [3.2.1.6 Policy table](#3216-policy-table) - [3.2.1.7 Policy sections table](#3217-policy-sections-table) - [3.2.1.8 Policy binding table](#3218-policy-binding-table) - - [3.2.1.9 Config DB schema changes history](#3219-config-db-schema-changes-history) - - *[3.2.1.9.1 Schema changes in SONiC 3.1.1](#32191-schema-changes-in-sonic-311)* + - [3.2.1.9 Policy based forwarding next hop group table](#3219-policy-based-forwarding-next-hop-group-table) + - [3.2.1.10 Config DB schema changes history](#32110-config-db-schema-changes-history) + - *[3.2.1.10.1 Schema changes in SONiC 3.1.1](#321101-schema-changes-in-sonic-311)* - [3.2.2 App DB](#322-app-db) - [3.2.2.1 ACL Table](#3221-acl-table) - [3.2.2.2 ACL Rule Table](#3222-acl-rule-table) - [3.2.2.3 Policy based forwarding group table](#3223-policy-based-forwarding-group-table) + - [3.2.2.4 Policy based forwarding next hop group table](#3224-policy-based-forwarding-next-hop-group-table) - [3.2.3 State DB](#323-state-db) - [3.2.3.1 Policy based forwarding group state](#3231-policy-based-forwarding-group-state) + - [3.2.3.2 Policy based forwarding next-hop group table state](#3232-policy-based-forwarding-next-hop-group-table-state) - [3.2.4 ASIC DB](#324-asic-db) - [3.2.5 Counter DB](#325-counter-db) - [3.3 Switch State Service Design](#33-switch-state-service-design) @@ -95,12 +103,12 @@ High level design document version 0.5 - [3.6.2.1 Configuring ACL Counter mode](#3621-configuring-acl-counter-mode) - *[3.6.2.1.1 Configuring ACL Counter mode using Sonic-CLI](#36211-configuring-acl-counter-mode-using-sonic-cli)* - *[3.6.2.1.2 Configuring ACL lookup mode using Click CLI (Deprecated)](#36212-configuring-acl-lookup-mode-using-click-cli-deprecated)* - - [3.6.2.2 Creating/Deleting a MAC/IPv4/IPv6 ACL](#3622-creating_deleting-a-mac_ipv4_ipv6-acl) - - [3.6.2.3 Creating/Deleting a MAC ACL Rule](#3623-creating_deleting-a-mac-acl-rule) - - [3.6.2.4 Creating/Deleting a IP ACL Rule](#3624-creating_deleting-a-ip-acl-rule) - - [3.6.2.5 Creating/Deleting a IPv6 ACL Rule](#3625-creating_deleting-a-ipv6-acl-rule) - - [3.6.2.6 Adding/Deleting ACL remark](#3626-adding_deleting-acl-remark) - - [3.6.2.7 Adding/Deleting ACL Rule Remark](#3627-adding_deleting-acl-rule-remark) + - [3.6.2.2 Creating / Deleting a MAC / IPv4 / IPv6 ACL](#3622-creating--deleting-a-mac--ipv4--ipv6-acl) + - [3.6.2.3 Creating / Deleting a MAC ACL Rule](#3623-creating--deleting-a-mac-acl-rule) + - [3.6.2.4 Creating / Deleting a IP ACL Rule](#3624-creating--deleting-a-ip-acl-rule) + - [3.6.2.5 Creating / Deleting a IPv6 ACL Rule](#3625-creating--deleting-a-ipv6-acl-rule) + - [3.6.2.6 Adding / Deleting ACL remark](#3626-adding--deleting-acl-remark) + - [3.6.2.7 Adding / Deleting ACL rule remark](#3627-adding--deleting-acl-rule-remark) - [3.6.2.8 Applying ACL](#3628-applying-acl) - *[3.6.2.8.1 Applying ACL to different interfaces](#36281-applying-acl-to-different-interfaces)* - *[3.6.2.8.2 Applying ACL globally](#36282-applying-acl-globally)* @@ -138,39 +146,48 @@ High level design document version 0.5 - *[3.6.2.15.2 Deleting policy using Click CLI (Deprecated)](#362152-deleting-policy-using-click-cli-deprecated)* - [3.6.2.16 Add policy description](#36216-add-policy-description) - [3.6.2.17 Delete policy description](#36217-delete-policy-description) - - [3.6.2.18 Add flow identified by a classifier to a policy](#36218-add-flow-identified-by-a-classifier-to-a-policy) - - *[3.6.2.18.1 Add flow using Sonic-CLI](#362181-add-flow-using-sonic-cli)* - - *[3.6.2.18.2 Add flow using Click CLI (Deprecated)](#362182-add-flow-using-click-cli-deprecated)* - - [3.6.2.19 Delete flow identified by a classifier to a policy](#36219-delete-flow-identified-by-a-classifier-to-a-policy) - - [3.6.2.20 Deleting flow using Sonic-CLI](#36220-deleting-flow-using-sonic-cli) - - [3.6.2.21 Deleting flow using Click CLI (Deprecated)](#36221-deleting-flow-using-click-cli-deprecated) - - [3.6.2.22 Add flow description](#36222-add-flow-description) - - [3.6.2.23 Delete flow description](#36223-delete-flow-description) - - [3.6.2.24 Add action(s) to flows](#36224-add-actions-to-flows) - - *[3.6.2.24.1 Add QoS actions to the flow using Sonic-CLI](#362241-add-qos-actions-to-the-flow-using-sonic-cli)* - - *[3.6.2.24.1.1 Add DSCP remarking action](#3622411-add-dscp-remarking-action)* - - *[3.6.2.24.1.2 Delete DSCP remarking action](#3622412-delete-dscp-remarking-action)* - - *[3.6.2.24.1.3 Add PCP remarking action](#3622413-add-pcp-remarking-action)* - - *[3.6.2.24.1.4 Delete PCP remarking action](#3622414-delete-pcp-remarking-action)* - - *[3.6.2.24.1.5 Add policer action](#3622415-add-policer-action)* - - *[3.6.2.24.1.6 Delete policer action](#3622416-delete-policer-action)* - - *[3.6.2.24.1.7 Add set traffic-class action](#3622417-add-set-traffic-class-action)* - - *[3.6.2.24.1.8 Delete set traffic-class action](#3622418-delete-set-traffic-class-action)* - - *[3.6.2.24.2 Adding monitoring actions to the flow](#362242-adding-monitoring-actions-to-the-flow)* - - *[3.6.2.24.2.1 Adding mirror session action](#3622421-adding-mirror-session-action)* - - *[3.6.2.24.2.2 Deleting mirror session action](#3622422-deleting-mirror-session-action)* - - *[3.6.2.24.3 Adding forwarding actions to the flow](#362243-adding-forwarding-actions-to-the-flow)* - - *[3.6.2.24.3.1 Adding / Deleting IPv4 next-hop](#3622431-adding-_-deleting-ipv4-next-hop)* - - *[3.6.2.24.3.2 Adding / Deleting IPv6 next-hop](#3622432-adding-_-deleting-ipv6-next-hop)* - - *[3.6.2.24.3.3 Adding / Deleting egress interface](#3622433-adding-_-deleting-egress-interface)* - - *[3.6.2.24.3.4 Adding default drop action](#3622434-adding-default-drop-action)* - - *[3.6.2.24.4 Add flow actions using Click CLIs (Deprecated)](#362244-add-flow-actions-using-click-clis-deprecated)* - - [3.6.2.25 Applying the policy to an interface](#36225-applying-the-policy-to-an-interface) - - *[3.6.2.25.1 Applying policy to an interface using Sonic-CLI](#362251-applying-policy-to-an-interface-using-sonic-cli)* - - *[3.6.2.25.2 Applying policy to an interface using Click CLI (Deprecated)](#362252-applying-policy-to-an-interface-using-click-cli-deprecated)* - - [3.6.2.26 Removing policy from an interface](#36226-removing-policy-from-an-interface) - - *[3.6.2.26.1 Removing policy from an interface using Sonic-CLI](#362261-removing-policy-from-an-interface-using-sonic-cli)* - - *[3.6.2.26.2 Removing policy from an interface using Click CLI (Deprecated)](#362262-removing-policy-from-an-interface-using-click-cli-deprecated)* + - [3.6.2.18 Adding a PBF next-hop group](#36218-adding-a-pbf-next-hop-group) + - [3.6.2.19 Updating PBF next-hop group members](#36219-updating-pbf-next-hop-group-members) + - [3.6.2.20 Setting PBF next-hop group threshold](#36220-setting-pbf-next-hop-group-threshold) + - [3.6.2.21 Deleting a PBF next-hop group](#36221-deleting-a-pbf-next-hop-group) + - [3.6.2.22 Add flow identified by a classifier to a policy](#36222-add-flow-identified-by-a-classifier-to-a-policy) + - *[3.6.2.22.1 Add flow using Sonic-CLI](#362221-add-flow-using-sonic-cli)* + - *[3.6.2.22.2 Add flow using Click CLI (Deprecated)](#362222-add-flow-using-click-cli-deprecated)* + - [3.6.2.23 Delete flow identified by a classifier to a policy](#36223-delete-flow-identified-by-a-classifier-to-a-policy) + - [3.6.2.24 Deleting flow using Sonic-CLI](#36224-deleting-flow-using-sonic-cli) + - [3.6.2.25 Deleting flow using Click CLI (Deprecated)](#36225-deleting-flow-using-click-cli-deprecated) + - [3.6.2.26 Add flow description](#36226-add-flow-description) + - [3.6.2.27 Delete flow description](#36227-delete-flow-description) + - [3.6.2.28 Add action(s) to flows](#36228-add-actions-to-flows) + - *[3.6.2.28.1 Add QoS actions to the flow using Sonic-CLI](#362281-add-qos-actions-to-the-flow-using-sonic-cli)* + - *[3.6.2.28.1.1 Add DSCP remarking action](#3622811-add-dscp-remarking-action)* + - *[3.6.2.28.1.2 Delete DSCP remarking action](#3622812-delete-dscp-remarking-action)* + - *[3.6.2.28.1.3 Add PCP remarking action](#3622813-add-pcp-remarking-action)* + - *[3.6.2.28.1.4 Delete PCP remarking action](#3622814-delete-pcp-remarking-action)* + - *[3.6.2.28.1.5 Add policer action](#3622815-add-policer-action)* + - *[3.6.2.28.1.6 Delete policer action](#3622816-delete-policer-action)* + - *[3.6.2.28.1.7 Add set traffic-class action](#3622817-add-set-traffic-class-action)* + - *[3.6.2.28.1.8 Delete set traffic-class action](#3622818-delete-set-traffic-class-action)* + - *[3.6.2.28.2 Adding monitoring actions to the flow](#362282-adding-monitoring-actions-to-the-flow)* + - *[3.6.2.28.2.1 Adding mirror session action](#3622821-adding-mirror-session-action)* + - *[3.6.2.28.2.2 Deleting mirror session action](#3622822-deleting-mirror-session-action)* + - *[3.6.2.28.3 Adding forwarding actions to the flow](#362283-adding-forwarding-actions-to-the-flow)* + - *[3.6.2.28.3.1 Adding / Deleting IPv4 next-hop](#3622831-adding--deleting-ipv4-next-hop)* + - *[3.6.2.28.3.2 Adding / Deleting IPv6 next-hop](#3622832-adding--deleting-ipv6-next-hop)* + - *[3.6.2.28.3.3 Adding / Deleting egress interface](#3622833-adding--deleting-egress-interface)* + - *[3.6.2.28.3.4 Adding / Deleting default drop action](#3622834-adding--deleting-default-drop-action)* + - *[3.6.2.28.3.5 Adding / Deleting IPv4 next-hop group action](#3622835-adding--deleting-ipv4-next-hop-group-action)* + - *[3.6.2.28.3.6 Adding / Deleting IPv6 next-hop group action](#3622836-adding--deleting-ipv6-next-hop-group-action)* + - *[3.6.2.28.4 Adding CoPP actions to the flow](#362284-adding-copp-actions-to-the-flow)* + - *[3.6.2.28.4.1 Adding / Deleting trap Queue action](#3622841-adding--deleting-trap-queue-action)* + - *[3.6.2.28.4.2 Adding / Deleting Policer action](#3622842-adding--deleting-policer-action)* + - *[3.6.2.28.5 Add flow actions using Click CLIs (Deprecated)](#362285-add-flow-actions-using-click-clis-deprecated)* + - [3.6.2.29 Applying the policy to an interface](#36229-applying-the-policy-to-an-interface) + - *[3.6.2.29.1 Applying policy to an interface using Sonic-CLI](#362291-applying-policy-to-an-interface-using-sonic-cli)* + - *[3.6.2.29.2 Applying policy to an interface using Click CLI (Deprecated)](#362292-applying-policy-to-an-interface-using-click-cli-deprecated)* + - [3.6.2.30 Removing policy from an interface](#36230-removing-policy-from-an-interface) + - *[3.6.2.30.1 Removing policy from an interface using Sonic-CLI](#362301-removing-policy-from-an-interface-using-sonic-cli)* + - *[3.6.2.30.2 Removing policy from an interface using Click CLI (Deprecated)](#362302-removing-policy-from-an-interface-using-click-cli-deprecated)* - [3.6.3 Show Commands](#363-show-commands) - [3.6.3.1 Show ACL binding summary](#3631-show-acl-binding-summary) - [3.6.3.2 Show ACL Rules and statistics](#3632-show-acl-rules-and-statistics) @@ -187,18 +204,20 @@ High level design document version 0.5 - *[3.6.3.6.1 Show policy binding summary using Sonic-CLI](#36361-show-policy-binding-summary-using-sonic-cli)* - *[3.6.3.6.2 Show policy binding summary using Click CLI (Deprecated)](#36362-show-policy-binding-summary-using-click-cli-deprecated)* - *[3.6.3.6.3 Show policy binding summary sample output](#36363-show-policy-binding-summary-sample-output)* - - [3.6.3.7 Show/Clear policy binding and counters for an interface](#3637-show_clear-policy-binding-and-counters-for-an-interface) - - *[3.6.3.7.1 Show/Clear policy binding and counters using SONiC-CLI](#36371-show_clear-policy-binding-and-counters-using-sonic-cli)* - - *[3.6.3.7.2 Show/Clear policy binding and counters using Click CLI (Deprecated)](#36372-show_clear-policy-binding-and-counters-using-click-cli-deprecated)* + - [3.6.3.7 Show / Clear policy binding and counters for an interface](#3637-show--clear-policy-binding-and-counters-for-an-interface) + - *[3.6.3.7.1 Show / Clear policy binding and counters using SONiC-CLI](#36371-show--clear-policy-binding-and-counters-using-sonic-cli)* + - *[3.6.3.7.2 Show / Clear policy binding and counters using Click CLI (Deprecated)](#36372-show--clear-policy-binding-and-counters-using-click-cli-deprecated)* - *[3.6.3.7.3 Show policy binding and counters sample output](#36373-show-policy-binding-and-counters-sample-output)* - - [3.6.3.8 TCAM Allocation](#3638-tcam-allocation) - - *[3.6.3.8.1 Available predefined TCAM profiles](#36381-available-predefined-tcam-profiles)* - - *[3.6.3.8.2 Predefined TCAM profile details](#36382-predefined-tcam-profile-details)* - - *[3.6.3.8.3 Setting the predefined profile](#36383-setting-the-predefined-profile)* - - *[3.6.3.8.4 Checking the current TCAM Allocation](#36384-checking-the-current-tcam-allocation)* - - *[3.6.3.8.5 Clearing the TCAM Allocation scheme.](#36385-clearing-the-tcam-allocation-scheme)* - - *[3.6.3.8.6 Modifying the current TCAM allocation](#36386-modifying-the-current-tcam-allocation)* - - *[3.6.3.8.7 Setting a custom TCAM allocation](#36387-setting-a-custom-tcam-allocation)* + - [3.6.3.8 Show policy based forwarding next-hop groups](#3638-show-policy-based-forwarding-next-hop-groups) + - [3.6.3.9 Show policy based forwarding next-hop group state for a specified interface](#3639-show-policy-based-forwarding-next-hop-group-state-for-a-specified-interface) + - [3.6.3.10 TCAM Allocation](#36310-tcam-allocation) + - *[3.6.3.10.1 Available predefined TCAM profiles](#363101-available-predefined-tcam-profiles)* + - *[3.6.3.10.2 Predefined TCAM profile details](#363102-predefined-tcam-profile-details)* + - *[3.6.3.10.3 Setting the predefined profile](#363103-setting-the-predefined-profile)* + - *[3.6.3.10.4 Checking the current TCAM Allocation](#363104-checking-the-current-tcam-allocation)* + - *[3.6.3.10.5 Clearing the TCAM Allocation scheme.](#363105-clearing-the-tcam-allocation-scheme)* + - *[3.6.3.10.6 Modifying the current TCAM allocation](#363106-modifying-the-current-tcam-allocation)* + - *[3.6.3.10.7 Setting a custom TCAM allocation](#363107-setting-a-custom-tcam-allocation)* - **[4 Flow Diagrams](#4-flow-diagrams)** - [4.1 Create a Classifier](#41-create-a-classifier) - [4.2 Create a QoS Policy and Section](#42-create-a-qos-policy-and-section) @@ -212,7 +231,7 @@ High level design document version 0.5 - [8.1 Software scalability](#81-software-scalability) - [8.2 ACL Table Scalability](#82-acl-table-scalability) - **[9 Limitation](#9-limitation)** -- **[10 Upgrade / Downgrade considerations](#10-upgrade-_-downgrade-considerations)** +- **[10 Upgrade / Downgrade considerations](#10-upgrade--downgrade-considerations)** - **[11 Unit Test](#11-unit-test)** - **[12 Appendix: Sample configuration](#12-appendix-sample-configuration)** - **[13 Internal Design Information](#13-internal-design-information)** @@ -222,13 +241,14 @@ High level design document version 0.5 [Table 1 Abbreviations](#table-1-abbreviations) # Revision -| Rev | Date | Author | Change Description | -| ---- | ---------- | ------------------- | ---------------------------------------- | -| 0.1 | 07/12/2019 | Abhishek Dharwadkar | Initial version | +| Rev | Date | Author | Change Description | +| ---- | ---------- | ---------| ------------------ | +| 0.1 | 07/12/2019 | Abhishek Dharwadkar | Initial version | | 0.2 | 10/15/2019 | Abhishek Dharwadkar | Add ACL enhancement and policing details | -| 0.3 | 11/10/2019 | Abhishek Dharwadkar | Add FBS support for mirroring | -| 0.4 | 03/25/2020 | Abhishek Dharwadkar | Add FBS support for forwarding | +| 0.3 | 11/10/2019 | Abhishek Dharwadkar | Add FBS support for mirroring | +| 0.4 | 03/25/2020 | Abhishek Dharwadkar | Add FBS support for forwarding | | 0.5 | 11/25/2020 | Abhishek Dharwadkar | Add *established* keyword support for ACL | +| 0.6 | 12/05/2020 | Abhishek Dharwadkar | Add FBS support for ACL-COPP and PBR enhancements for service-chaining | # About this Manual This document provides general information about the ACL enhancements and Flow Based Services feature in SONiC. @@ -250,6 +270,8 @@ This document provides general information about the ACL enhancements and Flow B | CBS | Commited Burst Size | | PIR | Peak Information Rate | | PBS | Peak Burst Size | +| CoPP | Control Plane Policing | +| SONiC-CLI | Klish CLI used by management framework | # 1 Feature Overview @@ -271,18 +293,24 @@ Flow based services enhance the switches capability to have enhanced and better Example features might be: - 1. QoS remarking and policing -2. Monitoring (e.g. SPAN, sFlow) +2. Monitoring (e.g. SPAN, ERSPAN) 3. Forwarding (e.g. PBR, L2 redirect) +4. ACL based CoPP (e.g Setting Trap Queue, Policing CPU bound traffic) This feature provides a common infrastructure service for such features. The common infrastructure service can itself use the SONiC ACL feature for packet match rule definition, or can use it's own UI for more sophisticated classifiers. -### 1.2.1 Forwarding flow based services +### 1.2.1 QoS flow based services +QoS policies allows the user to classify the traffic using ACL or packet header fields and apply QoS actions like PCP or DSCP remarking. Matching traffic can be prioritized differently as well using traffic class action. Traffic in data path can also be rate limited. + +### 1.2.2 Forwarding flow based services Forwarding policies allows the user to define a set of classification that when meet cause a packet to be forwarded to a predetermined next hop or interface bypassing the path determined by normal routing/forwarding. It is possible for the user to define multiple match and egress interface/next-hop specifications on the same policy. Forwarding policies can be applied to Switch or Routed traffic. For routing, traffic can be routed to the same VRF as that of ingress interface or a different VRF. +### 1.2.3 ACL CoPP flow based services +ACL based CoPP flow based services provides a mechanism to rate limit traffic going to CPU. This provides increased security for CPU from unwanted traffic and DDoS attacks like Ping floods or TCP SYN floods. ACL based CoPP policies are applicable only for inband traffic and is not applicable for management port. + ## 1.3 Requirements ### 1.3.1 Functional Requirements - The following are the requirements for ACL enhancements and Flow Based Services feature: 1. Support Layer 2 ACL i.e. support match on Layer 2 fields like Source MAC, Destination MAC, PCP, etc. 2. Support L3 header fields like DSCP, ICMP type and ICMP code. @@ -350,9 +378,9 @@ Layer 2 ACL can be used to filter traffic based on MAC header fields like Source VLAN ACLs provide traffic filtering for all traffic that is bridged within the same VLAN or routed in or out of a VLAN. VLAN ACLs are applied to both bridged and routed traffic. VLAN ACLs supports MAC, IPv4 or IPv6 ACLs. -#### 2.2.1.4 Switch ACLs +#### 2.2.1.4 Switch / Global ACLs -Switch ACLs provide traffic filtering for all bridged or routed traffic in the switch. Switch ACLs supports MAC, IPv4 or IPv6 ACLs. +Switch / Global ACLs provide traffic filtering for all bridged or routed traffic in the switch. Switch ACLs supports MAC, IPv4 or IPv6 ACLs. #### 2.2.1.5 ACL Lookup mode @@ -382,17 +410,31 @@ The following diagram shows the evaluation order for datapath ACLs. The same is Security ACL match can result the following actions -**Permit** : This action allows forwarding in data plane and trap to CPU. -**Deny** : This action disallows forwarding in data plane but allows traps to CPU. - -An incoming traffic can match both L2 and L3 (IPv4/IPv6) datapath ACLs. The following table shows the combined result. The counters for both ACLs will be incremented to indicate the match. - -| Result from L2 ACL | Result from L3 ACL (IPv4 or IPv6) | Final Result | -| ------------------ | --------------------------------- | ------------ | -| FORWARD | FORWARD | FORWARD | -| DROP | FORWARD | DROP | -| FORWARD | DROP | DROP | -| DROP | DROP | DROP | +- **Permit** : This action allows forwarding in data plane and trap to CPU. +- **Deny** : This action disallows forwarding in data plane but allows traps to CPU. +- **Transit** : This action allows forwarding in data plane and but stops trap to CPU. +- **Discard** : This action disallows both forwarding in data plane and trap to CPU. + +An incoming packet can match both L2 and L3 (IPv4/IPv6) datapath ACLs. The following table shows the combined result. The counters for both ACLs will be incremented to indicate the match. If L2/IP ACL is not configured/not matched/not applicable then only the result from the matched/applied ACL will be applicable + +| Result from L2 ACL | Result from IP ACL | Allow forwarding | Allow Trap to CPU | +| ------------------ | ------------------ | ------------ | ------------------ | +| Permit | Permit | Yes |Yes| +| Permit | Deny | No |Yes| +| Permit | Transit | Yes |No| +| Permit | Discard | No |No| +| Deny | Permit | No | Yes | +| Deny | Deny | No | Yes | +| Deny | Transit | No | No | +| Deny | Discard | No | No | +| Transit | Permit | Yes | No | +| Transit | Deny | No | No | +| Transit | Transit | Yes | No | +| Transit | Discard | No | No | +| Discard | Permit | No | No | +| Discard | Deny | No | No | +| Discard | Transit | No | No | +| Discard | Discard | No | No | Please note that in the above table, its assumed that the L2ACL result is also applicable for L3 traffic. @@ -412,11 +454,11 @@ Classifiers are used to identify interesting traffic flows by using parts of L2- A classifier uses ACL for flow identification if the `MATCH_TYPE` is set to `"acl"`. The name of the ACL is specified by `ACL_NAME` key. Each classifier can use only 1 ACL of type L2, IPv4 or IPv6 to identify a traffic flow. The ACL must be already configured for the classifier to be considered as complete. If the ACL is not configured then the classifier is considered incomplete and acts as no-op. Classifiers support forward referencing of ACLs, so the configuration will be retained and no error will be displayed to the user when ACL is not present. When the ACL is configured, the classifier becomes active and applies any actions configured for it in the policies. -###### 2.2.2.1.1.1 ACL Rules with permit action +###### 2.2.2.1.1.1 ACL Rules with permit / transit action Actions like DSCP remarking will be applied for ACL rules if they are configured with `PACKET_ACTION` of `FORWARD`. -###### 2.2.2.1.1.2 ACL Rules with deny action +###### 2.2.2.1.1.2 ACL Rules with deny / discard action Actions will be not taken for ACL rules if they are configured with `PACKET_ACTION` of `DROP`. This provides a mechanism to exclude certain specific sub flows, which makes it easier for the user to configure ACLs in certain scenarios. For example if an action say DSCP remarking needs to be taken if the packet has Source IP address which matches prefix 10.1.1.x/24, but DSCP remarking should not be applied to 2 specific IP addresses say 10.1.1.1 and 10.1.1.00 then user can configure 2 ACL rules with `DROP` as `PACKET_ACTION` for the 2 excluded IPs and 3rd rule can be generic rule for the subnet with `FORWARD` as `PACKET_ACTION`. If this mechanism is unavailable then user has to configure 100s of rules for each specific IP address for which DSCP remarking needs to be applied. @@ -437,6 +479,7 @@ QoS Policies only support the following actions 1. DSCP Remarking : Set DSCP in IPv4 or IPv6 header to the new value specified in the configuration matches. 2. PCP Remarking : Set PCP value in 802.1Q VLAN header to the new value specified in the configuration. 3. Policing : Apply rate-limiting parameters. +4. Setting Traffic Class: Set a different Traffic Class/Queue to priortize/depriortize traffic ##### 2.2.2.2.2 Policy of type Monitoring @@ -455,28 +498,69 @@ Forwarding policies only support the following actions 3. Forward L2 traffic to specified interface. 4. Drop action if none of the next-hops are reachable or egress interface is not L2 and link up. -Forwarding policies are supported only at ingress. +Forwarding policies are supported only at ingress. Forwarding policies can only forward the traffic and can not be used to trap/switch/route to CPU. The traffic must be routed for the routing policies (policies which use next-hop/next-hop-group as action) to apply and switched for the switching policies (policies which use Ethernet or Portchannel as egress interface) to apply. Forwarding policies are not applicable for traffic which are destined to CPU (Destination IP = Me) or traffic which is trapped to CPU. + +##### 2.2.2.2.4 Policy of type ACL-COPP + +ACL CoPP policies only support the following actions + +1. Policing traffic destined to CPU +2. Setting CPU Queue + +ACL-CoPP policies are supported only at ingress and on CPU port only. ACL CoPP policies can only be used to selectively reduce the rates for certain subflows i.e. its not possible to increase the rate above the default value. Example for a IP protocol X the default rate is 10mbps, ACL CoPP policies can be used to reduce the rate for traffic matching a given SIP to say 5 mbps. Its not possible to increase the rate to say 15 mbps which is greater than the default value of 10mbps. The configured rate is not guaranteed for the matching traffic but its the maximum rate the matching traffic can achieve. In the previous example, traffic matching SIP is not guaranteed to have 5mbps reserved for it and other flows for the protocol X can only go upto 5mbps. What it means is that out of the 10mbps rate applicable for protocol X, the traffic matching SIP can go up to 5mbps in any case. + +#### 2.2.2.3 Policy based forwarding next-hop groups + +Next-hop groups provide a mechanism to bundle a set of next-hops for load sharing. Unlike ECMP, next-hop group can consist of members / paths which have different speeds. The next-hop group is made up of the following elements + +1. Next-hop group type i.e. IPv4 or IPv6. Next-hop group members must be of the same type as well i.e. its not valid to have IPv6 member next-hops for IPv4 next-hop group or vice versa. + +2. Next-hop group members which are used as egress for forwarding traffic. Each member is identified by using a unique member/entry ID assigned by the user. Adding duplicate next-hops with different entry IDs is supported. -#### 2.2.2.3 Applying policies to interfaces +3. Next-hop member VRF for inter-VRF routing (optional). If VRF is not specified then its assumed as the VRF of the interface on which the policy is applied. -When a policy is applied to an interface at ingress or egress, action will be taken in case of match, only traffic is ingressing or egressing from that interface. Traffic ingressing or egressing from other interfaces will not be affected. +4. Optional configuration for the member to be considered part of the group only if they are directly or indirectly connected. Default is any i.e. the next-hops can be directly or indirectly connected. -A policy can be applied in the following direction +5. Threshold type and limits. To have more control on traffic forwarding to a next-hop group, two limit values can be optionally configured. The threshold limit values can be expressed either in terms of percentage of group members which are eligible for forwarding (next-hop is reachable and matches the direct/indirectly connected criteria if any) or as absolute number of eligible members. + + 1. **Threshold up**: This configuration indicates the value above which the next-hop group can be considered as forwardable/online. + 2. **Threshold down**: This configuration indicates the value below which the next-hop group will be considered as not-forwardable/offline. + + If no threshold limit types and values are configured then the default threshold type is considered as eligible members count and with up value as 1 and down value as 0. + +Next-hop group members must be non-ecmp only. If a next-hop group member is reachable via multiple paths then it will not be considered as part of the next-hop group and traffic will not be load shared through it. + +The traffic will be shared equally between all members of the next-hop group. By adding duplicate members to the next-hop group, traffic distribution can be controlled by the user. For example if the next-hop group has 3 unique next-hops lets say NH0, NH1 and NH2. If NH0 is added 5 times (with different entry IDs) and NH1 is added 3 times and NH2 is added 2 times i.e. total of 10 members configured then under ideal traffic conditions and hashing, 50% traffic will be sent to NH0, 30% will be sent to NH1 and 20% will be sent to NH2 as shown in the following diagram. + +![PBR Traffic distribution with directly connected Next-hop-group members](images/PBRNhGrpDirect.png "PBR Traffic distribution with directly connected Next-hop-group members") + +**Figure 3: PBR Traffic distribution with directly connected Next-hop-group members** +The same pattern of traffic distribution is also observed for indirectly connected next-hops as well. Example if a next-hop group has 10 members NH0 to NH9 but NH0 to NH4 is reachable through router A, NH5 to NH7 is reachable through router B and NH8, NH9 is reachable through router C, then under ideal traffic and hashing conditions router A should see 50%, router B should see 30% and router C should see 20% of traffic forwarded by the forwarding policy. + +![PBR Traffic distribution with indirectly connected Next-hop-group members](images/PBRNhGrpIndirect.png "PBR Traffic distribution with indirectly connected Next-hop-group members") + +**Figure 4: PBR Traffic distribution with indirectly connected Next-hop-group members** +#### 2.2.2.4 Applying policies to interfaces +When a policy is applied to an interface at ingress or egress (if supported), action will be taken in case of match, only traffic if the traffic ingresses or egresses from that interface. Traffic ingressing or egressing from other interfaces will not be affected. + +A policy can be applied in the following direction (if supported) 1. Ingress 2. Egress -A policy can be applied to the following interface types +A policy can be applied to the following interface types (if supported) -1. Port or LAG -2. VLAN : Traffic tagged with or classified into the VLAN will be affected if matched. -3. Switch : All traffic flowing through the switch will be affect if matched +1. Port or LAG sub interfaces +2. Port or LAG +3. VLAN : Traffic tagged with or classified into the VLAN will be affected if matched. +4. Switch : All traffic flowing through the switch will be affected if matched +5. CPU Port: All traffic destined to the CPU from inband ports will be affected if matched -Only 1 policy of a given type (e.g QoS) can be applied to an interface in a given direction. For example on Ethernet0 only 1 QoS policy say P1 can be applied at ingress. Its not possible to apply another QoS policy say P2 for Ethernet0 at ingress. However user can apply policies of different types to the same interface. This gives user ability to classify the same traffic (using same or different classifier) and apply multiple actions of type qos, monitoring and forwarding etc to it. +Only 1 policy of a given type (e.g QoS) can be applied to an interface in a given direction. For example on Ethernet0 only 1 QoS policy say P1 can be applied at ingress. Its not possible to apply another QoS policy say P2 for Ethernet0 at ingress. However user can apply policies of different types to the same interface. This gives user ability to classify the same traffic (using same or different classifier) and apply multiple actions of type qos, monitoring and forwarding etc. to it. The same policy can be also be applied to different interfaces and both ingress and egress (if supported). -##### 2.2.2.3.1 Evaluation of traffic within the same policy +##### 2.2.2.4.1 Evaluation of traffic within the same policy As mentioned in [section 2.2.2.2](#2_2_2_2-policies), a policy can have multiple sections. Each section has a classifier, priority and actions associated with it. The policies are programmed in the ASIC in the order of the priority or the sections. The order of the evaluation is based on the numerical value of `PRIORITY`. @@ -484,35 +568,37 @@ The following diagram shows the order in which the policy sections are evaluated ![Policy evaluation with single match](images/PolicyEval.png "Policy evaluation with single match") -**Figure 3: Policy evaluation with single match** +**Figure 5: Policy evaluation with single match** The following diagram shows the order in which the policy sections are evaluated and final results when multiple sections match the traffic. The final result is picked up from the section with highest numerical value of the priority. ![Policy evaluation with multiple match](images/PolicyEvalMultiHit.png "Policy evaluation with multiple match") -**Figure 4: Policy evaluation with multiple match** +**Figure 6: Policy evaluation with multiple match** -##### 2.2.2.3.2 Evaluation of traffic across interfaces of same types +##### 2.2.2.4.2 Evaluation of traffic across interfaces of same types Policies applied to interfaces of same types are always non conflicting hence there is no conflict resolution between them. -##### 2.2.2.3.3 Evaluation of traffic across interfaces of different types +##### 2.2.2.4.3 Evaluation of traffic across interfaces of different types -A policy can be applied at Port level, VLAN level and Switch level. A given packet can match all the 3 policies. All interface types have a implicit priority associated with them which is in the order Port/LAG > VLAN > Switch. When a packet matches Port Policy, VLAN Policy and Switch policy, only Port policy will be applied. The evaluation of the port policy is same as described in [section 2.2.2.3.1](#2_2_2_3_1-evaluation-of-traffic-within-the-same-policy). Counter of only Port policy will increment. +A policy can be applied at Port level, VLAN level and Switch level. A given packet can match all the 3 policies. All interface types have a implicit priority associated with them which is in the order CPU > Port/LAG > VLAN > Switch. When a packet matches Port Policy, VLAN Policy and Switch policy, only Port policy will be applied. The evaluation of the port policy is same as described in [section 2.2.2.3.1](#2_2_2_3_1-evaluation-of-traffic-within-the-same-policy). Counter of only Port policy will increment. ![Policy evaluation across interface types](images/PolicyEvalMultiIntf.png "Policy evaluation across interface types") -**Figure 5: Policy evaluation across interface types** +**Figure 7: Policy evaluation across interface types** -##### 2.2.2.3.4 Evaluation of traffic across policies of different types +The CPU port is equivalent to that of Switch as the traffic can go to CPU port from any interface. Since CPU port is at highest priority, its recommended to configure specific match criteria to prevent masking of Port/LAG/VLAN/Switch policies . -Data path ACLs, Mirror ACLs and Flow based services policies are internally converted into ACL tables and are added as members of a parallel lookup ACL table group. This results in all ACL tables to be looked up in parallel and results merged in ASIC. The maximum number of tables that can be looked up in parallel is ASIC dependent. CRM statistics for ACL table will provide this information. +##### 2.2.2.4.4 Evaluation of traffic across policies of different types -Policies of different types are designed to take specific actions. QoS Polices are meant to take only QoS actions like DSCP remarking. Data path ACLs only support forward and drop actions and mirror ACL supports only mirror action. These actions are non conflicting so when a packet matches a QoS Policy, Data Path ACL to permit and mirror ACL, the packet will be permitted, QoS actions will be applied and a mirror copy will also be generated. Counters of Data path ACL, Mirror ACL and QoS policy may increment depending on the capability of the ASIC. +Data path ACLs and Flow based services policies are internally converted into ACL tables and are added as members of a parallel lookup ACL table group. This results in all ACL tables to be looked up in parallel and results merged in ASIC. The maximum number of tables that can be looked up in parallel is ASIC dependent. CRM statistics for ACL table will provide this information. + +Policies of different types are designed to take specific actions. QoS Polices are meant to take only QoS actions like DSCP remarking. Data path ACLs only support forward and drop actions and Monitoring Policies supports only mirror action etc. These actions are non conflicting so when a packet matches a QoS Policy, Data Path ACL to permit and Monitoring policy, the packet will be permitted, QoS actions will be applied and a mirror copy will also be generated. Counters of Data path ACL, Monitoring policy and QoS policy may increment depending on the capability of the ASIC. ![Result merge across interfaces of different types](images/PolicyEvalMultiPolicy.png "Result merge across interfaces of different types") -**Figure 6: Result merge across interfaces of different types** +**Figure 8: Result merge across interfaces of different types** ## 2.3 Feature support matrix @@ -523,6 +609,7 @@ Policies of different types are designed to take specific actions. QoS Polices a | QoS | SONiC 3.0 | | Monitoring | SONiC 3.0 | | Forwarding | SONiC 3.1 | +| ACL-COPP | SONiC 3.2 | ### 2.3.2 QoS policy actions support @@ -531,6 +618,7 @@ Policies of different types are designed to take specific actions. QoS Polices a | DSCP Remarking | SONiC 3.0 | | PCP Remarking | SONiC 3.0 | | Policing | SONiC 3.0 | +| Traffic Class | SONiC 3.1 | ### 2.3.3 Monitoring policy actions support @@ -543,10 +631,16 @@ Policies of different types are designed to take specific actions. QoS Polices a | Feature | Release supported | | -------------------- | ----------------- | | IPv4 / IPv6 underlay next Hop | SONiC 3.1 | -| IPv4 / IPv6 overlay next hop | SONiC 3.1.1 | | L2 Egress interface | SONiC 3.1 | | Default drop action | SONiC 3.1 | +| IPv4 / IPv6 overlay next hop | SONiC 3.1.1 | +| Next-hop groups | SONiC 3.2 | +### 2.3.5 ACL-COPP Policy actions support +| Feature | Release supported | +| -------------- | ----------------- | +| Policing | SONiC 3.2 | +| Setting CPU Queue | SONiC 3.2 | # 3 Design @@ -555,7 +649,7 @@ The following diagram shows the high level design overview of ACL enhancements a ![Flow Based Service Overview](images/Overview.png "Flow Based Service Overview") -**Figure 7: Flow Based Service Overview** +**Figure 9: Flow Based Service Overview** ## 3.2 DB Changes @@ -760,32 +854,38 @@ DESCRIPTION = 1*255VCHAR ; Policy Description #### 3.2.1.7 Policy sections table -Policy details table provides information on the classifiers to use and their corresponding actions. A policy can have up to 128 classifiers +Policy section table provides information on the classifiers to use and their corresponding actions. A policy can have up to 128 classifiers ``` key = POLICY_SECTIONS_TABLE:policy_name:classifier_name ; name must be unique ; name must be 1-63 chars long -;field = value -PRIORITY = 1*4DIGIT ; Valid Range is 0-1023 -DESCRIPTION = 1*255VCHAR ; Policy Description -SET_DSCP = dscp_val ; Valid only when policy is of type "qos" -SET_PCP = pcp_val ; Valid only when policy is of type "qos" -SET_TC = tc_val ; Valid only when policy is of type "qos" -SET_POLICER_CIR = 1*12DIGIT ; Valid only when policy is of type "qos" -SET_POLICER_CBS = 1*12DIGIT ; Valid only when policy is of type "qos" -SET_POLICER_PIR = 1*12DIGIT ; Valid only when policy is of type "qos" -SET_POLICER_PBS = 1*12DIGIT ; Valid only when policy is of type "qos" -SET_MIRROR_SESSION = 1*72VCHAR ; Valid only when policy is of type "monitoring" -SET_IP_NEXT_HOP = [1-64]*nh-entry ; Valid only when policy is of type "forwarding" -SET_IPV6_NEXT_HOP = [1-64]*v6nh-entry ; Valid only when policy is of type "forwarding" -SET_INTERFACE = [1-64]*port-entry ; Valid only when policy is of type "forwarding" -DEFAULT_PACKET_ACTION = "DROP" / "FORWARD" ; Valid only when policy is of type "forwarding" +;field = value +PRIORITY = 1*4DIGIT ; Valid Range is 0-1023 +DESCRIPTION = 1*255VCHAR ; Policy Description +SET_DSCP = dscp_val ; Valid only when policy is of type "qos" +SET_PCP = pcp_val ; Valid only when policy is of type "qos" +SET_TC = tc_val ; Valid only when policy is of type "qos" +SET_POLICER_CIR = 1*12DIGIT ; Valid only when policy is of type "qos/acl-copp" +SET_POLICER_CBS = 1*12DIGIT ; Valid only when policy is of type "qos/acl-copp" +SET_POLICER_PIR = 1*12DIGIT ; Valid only when policy is of type "qos/acl-copp" +SET_POLICER_PBS = 1*12DIGIT ; Valid only when policy is of type "qos/acl-copp" +SET_MIRROR_SESSION = 1*72VCHAR ; Valid only when policy is of type "monitoring" +SET_IP_NEXTHOP = [1-64]*nh-entry ; Valid only when policy is of type "forwarding" +SET_IPV6_NEXTHOP = [1-64]*v6nh-entry ; Valid only when policy is of type "forwarding" +SET_INTERFACE = [1-64]*port-entry ; Valid only when policy is of type "forwarding" +DEFAULT_PACKET_ACTION = "DROP" / "FORWARD" ; Valid only when policy is of type "forwarding" +SET_TRAP_QUEUE = cpu_queue_val ; valid only when policy is of type "acl-copp" +SET_IP_NEXTHOP_GROUP = [1-64]*group-entry ; Valid only when policy is of type "forwarding" +SET_IPV6_NEXTHOP_GROUP = [1-64]*group-entry ; Valid only when policy is of type "forwarding" ;value annotations dscp_val = DIGIT / %x31-36 %x30-33 pcp_val = %x30-37 tc_val = %x30-37 +cpu_queue_val = %x30-39 ; 0-9 + / %x31-33 %x30-39 ; 10-39 + / "4" %x30-37 ; 40-47 d8 = DIGIT ; 0-9 / %x31-39 DIGIT ; 10-99 / "1" 2DIGIT ; 100-199 @@ -806,9 +906,11 @@ ipv6-addr = 7(h16 ":") h16 / [ *6(h16 ":") h16 ] "::" port-name = "Ethernet"1*3DIGIT / "PortChannel"1*3DIGIT -nh-entry = ip-addr "|" vrf-name "|" priority -v6nh-entry = ipv6-addr "|" vrf-name "|" priority -port-entry = port-name "|" priority +nh-entry = ip-addr "|" [ vrf-name ] "|" [ priority ] +v6nh-entry = ipv6-addr "|" [ vrf-name ] "|" [ priority ] +port-entry = port-name "|" [ priority ] +group-entry = 1*72VCHAR "|" [ priority ] +priority = 1*4DIGIT / %x31-36 %x30-35 %x30-35 %x30-33 %x30-35 ``` #### 3.2.1.8 Policy binding table @@ -823,16 +925,41 @@ key = POLICY_BINDING_TABLE:port_name ; port_name is the name of the INGRESS_QOS_POLICY = 1*63VCHAR INGRESS_MONITORING_POLICY = 1*63VCHAR INGRESS_FORWARDING_POLICY = 1*63VCHAR +INGRESS_ACL_COPP_POLICY = 1*63VCHAR EGRESS_QOS_POLICY = 1*63VCHAR ;value annotations ``` -#### 3.2.1.9 Config DB schema changes history +#### 3.2.1.9 Policy based forwarding next hop group table + +The following provides information about the schema for a policy based forwarding next hop group table + +``` +key = PBF_NEXTHOP_GROUP_TABLE:group_name ; group_name is a string made up of 1-63 + ; characters and can have a-z,A-Z,0-9, + ; hyphen and underscore + +;field = value +GROUP_NAME = 1*63VCHAR +DESCRIPTION = 1*255VCHAR ; Group Description +TYPE = "IPV4" / "IPV6" +THRESHOLD_TYPE = "COUNT" / "PERCENTAGE" +THRESHOLD_UP = [1-3]DIGIT ; 1-100 for percentage and 1-128 for count +THRESHOLD_DOWN = [1-3]DIGIT ; 0-99 for percentage and 0-127 for count +SET_IP_NEXTHOP = [1-64]*ip-member-config +SET_IPV6_NEXTHOP = [1-64]*ipv6-member-config + +; value annotations +ip-member-config = entry-id "|" ip-addr "|" [ vrf-name ] "|" [ "recursive" / "non-recursive" ] +ipv6-member-config = entry-id "|" ipv6-addr "|" [ vrf-name ] "|" [ "recursive" / "non-recursive" ] +entry-id = 1*4DIGIT / %x31-36 %x30-35 %x30-35 %x30-33 %x30-35 +``` +#### 3.2.1.10 Config DB schema changes history The following table shows the DB schema changes and the details of the DB migration -##### 3.2.1.9.1 Schema changes in SONiC 3.1.1 +##### 3.2.1.10.1 Schema changes in SONiC 3.1.1 | Table name | Field name | Details of the change | Upgrade | Downgrade | | ---------- | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | @@ -872,7 +999,7 @@ The SET_POLICER action uses the policer name as defined in POLICER_TABLE schema #### 3.2.2.3 Policy based forwarding group table -A new table called `PBF_GROUP_TABLE` is added. This table will be referenced by the ACL rule. The `CONFIGURED_EGRESS` contains egress information (Next-hop/interface) as configured by the user. `DERIVED_EGRESS` contains egress information (Next-hop/interface) derived by using interface VRF when VRF is not configured explicitly by the user. This table will be populated by aclsvcd. +A table called `PBF_GROUP_TABLE` is added to store the fully qualified egress in App DB. This table will be referenced by the ACL rule. The `CONFIGURED_EGRESS` contains egress information (Next-hop/interface) as configured by the user. `DERIVED_EGRESS` contains egress information (Next-hop/interface) derived by using interface VRF when VRF is not configured explicitly by the user. This table will be populated by *aclsvcd*. ``` key: PBF_GROUP_TABLE:group_name ; group_name will be internally generated by aclsvcd @@ -880,18 +1007,39 @@ key: PBF_GROUP_TABLE:group_name ; group_name will be internally generated by acl ;field = value TYPE = "IPV4" / "IPV6" / "L2" DEFAULT_PACKET_ACTION = "DROP" -CONFIGURED_EGRESS = [0-64]*nh-entry / [0-64]*v6nh-entry / [0-64]*port-entry -DERIVED_EGRESS = [0-64]*nh-entry / [0-64]*v6nh-entry / [0-64]*port-entry +CONFIGURED_EGRESS = [1-64]* [ nh-entry / group-name ] / [1-64]* [ v6nh-entry / group-name ] / [1-64]*port-entry +DERIVED_EGRESS = [1-64]* [ nh-entry / group-name ] / [1-64]* [ v6nh-entry / group-name ] / [1-64]*port-entry ;value annotations -The details of nh-entry or v6nh-entry or port-entry is same as described in Config DB. +group-name = 1*63VCHAR "|" vrf-name "|" priority + +;The details of nh-entry, v6nh-entry, port-entry or priority is same as described in Config DB. +``` + +#### 3.2.2.4 Policy based forwarding next hop group table + +A table called `PBF_NEXTHOP_GROUP_TABLE` is added to store the fully qualified next-hop members information into the App DB. This table will be referenced by `PBF_GROUP_TABLE` entries via `DERIVED_EGRESS`field. Since the policy referencing the same next-hop group can be applied to different interfaces which belong to different VRF, the group name will be generated by *aclsvcd* by using the groups name and VRF name. The `CONFIGURED_EGRESS` contains member information as configured by the user. `DERIVED_EGRESS` contains member information derived by using interface VRF when VRF is not configured explicitly by the user. + +``` +key: PBF_NEXTHOP_GROUP_TABLE:group_name:vrf_name + +;field = value +TYPE = "IPV4" / "IPV6" +THRESHOLD_TYPE = "COUNT" / "PERCENTAGE" +THRESHOLD_UP = [1-3]DIGIT ; 1-100 for percentage and 1-128 for count +THRESHOLD_DOWN = [1-3]DIGIT ; 0-99 for percentage and 0-127 for count +CONFIGURED_EGRESS = [1-64]*ip-member-config / [1-64]*ipv6-member-config +DERIVED_EGRESS = [1-64]*ip-member-config / [1-64]*ipv6-member-config + +;value annotations +;The details of ip-member-config, ipv6-member-config is same as described in Config DB. ``` ### 3.2.3 State DB #### 3.2.3.1 Policy based forwarding group state -The PBF_GROUP_STATE_TABLE contains the information about the currently selected egress for forwarding. This information can be used to show the same information to the user. This table will be populated by PBF orch agent. +The `PBF_GROUP_TABLE` contains the information about the currently selected egress for forwarding. This information can be used to show the same information to the user. This table will be populated by PBF orch agent. ``` key: PBF_GROUP_TABLE:group_name ; group_name will be internally generated by aclsvcd @@ -905,6 +1053,24 @@ SELECTED_DERIVED = nh-entry / v6nh-entry / port-entry / "DROP" The details of nh-entry or v6nh-entry or port-entry is same as described in Config DB. ``` +#### 3.2.3.2 Policy based forwarding next-hop group table state + +The PBF_NEXTHOP_GROUP_TABLE contains information about the operational state of the group. This information can be used to show the same information to the user. This table will be populated by PBF orch agent. The `CONFIGURED_EGRESS` and `DERIVED_EGRESS` information is same as AppDB. `EGRESS_STATE` information contains either a 0 or 1 for every group member to indicate if the member is used for forwarding or not. + +``` +Key: PBF_NEXTHOP_GROUP_TABLE:group_name:vrf_name + +;field = value +TYPE = "IPV4" / "IPV6" +CONFIGURED_EGRESS = [1-64] * [ ip-member-config / ipv6-member-config ] +DERIVED_EGRESS = [1-64] * [ ip-member-config / ipv6-member-config ] +EGRESS_STATE = [1-64] * BIT +STATUS = "Online" / "Offline" + +;value annotations +;The details of ip-member-config, ipv6-member-config is same as described in Config DB. +``` + ### 3.2.4 ASIC DB None @@ -1013,7 +1179,7 @@ Options: -?, -h, --help Show this message and exit. ``` -#### 3.6.2.2 Creating/Deleting a MAC/IPv4/IPv6 ACL +#### 3.6.2.2 Creating / Deleting a MAC / IPv4 / IPv6 ACL | Mode | Config | | ---- | ------ | | Syntax | \[no\] { **mac** \| **ip** \| **ipv6** } **access-list** *NAME* | @@ -1021,35 +1187,35 @@ Options: | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.3 Creating/Deleting a MAC ACL Rule +#### 3.6.2.3 Creating / Deleting a MAC ACL Rule | Mode | ACL | | ---- | ------ | | Syntax | sonic(config-mac-acl)# **seq** *<1-65535>* { **permit** \| **deny** } { **any** \| **host** *SMAC* \| *SMAC* *SMAC_MASK* } { *any* \| **host** *DMAC* \| *DMAC* *DMAC_MASK* } \[ *ETHERTYPE* \| **ipv4** \| **ipv6** \| **arp** \] \[ **vlan** *VLANID* \] \[ **pcp** *<0-7>* \] \[ **dei** *<0-1>* \] **remark** *DESCRIPTION*
sonic(config-mac-acl)# **no seq** *<1-65535>* | | Arguments | ***SMAC***: Source MAC address in xxxx.xxxx.xxxx or xx:xx:xx:xx:xx:xx format
***SMAC_MASK***: Source MAC address mask in xxxx.xxxx.xxxx or xx:xx:xx:xx:xx:xx format
***DMAC***: Destination MAC address in xxxx.xxxx.xxxx or xx:xx:xx:xx:xx:xx format
***DMAC_MASK***: Destination MAC address mask in xxxx.xxxx.xxxx or xx:xx:xx:xx:xx:xx format
***ETHERTYPE***: Ethertype value in range 1536-65536 in hex or decimal format.
***VLANID***: VLAN ID in range 1-4094 in decimal format
***DESCRIPTION***: A string describing the rule. Must be in double quotes if it contains spaces. | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.4 Creating/Deleting a IP ACL Rule +#### 3.6.2.4 Creating / Deleting a IP ACL Rule | Mode | ACL | | ---- | ------ | | Syntax | sonic(config-ipv4-acl)# **seq** *<1-65535>* { **permit** \| **deny** } **tcp** { **any** \| **host** *SIP* \| *SIP* \[ / *SIP_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] { **any** \| **host** *DIP* \| *DIP* \[ / *DIP_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] \[ **dscp** *DSCP_VAL* \] \[ **established** \| \[ **fin** \| **not-fin** \] \[ **syn** \| **not-syn** \] \[ **rst** \| **not-rst** \] \[ **psh** \| **not-psh** \] \[ **ack** \| **not-ack** \] \[ **urg** \| **not-urg** \] \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv4-acl)# **seq** *<1-65535>* { **permit** \| **deny** } **udp** { **any** \| **host** *SIP* \| *SIP* \[ / *SIP_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] { **any** \| **host** *DIP* \| *DIP* \[ / *DIP_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] \[ **dscp** *DSCP_VAL* \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv4-acl)# **seq** *<1-65535>* { **permit** \| **deny** } **icmp** { **any** \| **host** *SIP* \| *SIP* \[ / *SIP_PREFIX_LEN* \] } { **any** \| **host** *DIP* \| *DIP* \[ / *DIP_PREFIX_LEN* \] } \[ **dscp** *DSCP_VAL* \] \[ **type** *ICMP_TYPE* \] \[ **code** *ICMP_CODE* \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv4-acl)# **seq** *<1-65535>* { **permit** \| **deny** } { **ip** \| *IP_PROTOCOL* } { **any** \| **host** *SIP* \| *SIP* \[ / *SIP_PREFIX_LEN* \] } { **any** \| **host** *DIP* \| *DIP* \[ / *DIP_PREFIX_LEN* \] } \[ **dscp** *DSCP_VAL* \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ip-acl)# **no seq** *<1-65535>* | | Arguments | ***IP_PROTOCOL***: IP Protocol value in decimal format
***SIP***: Source IPv4 address
***SIP_PREFIX_LEN***: Source IPv4 address prefix length
***DIP***: Destination IPv4 address
***DIP_PREFIX_LEN***: Destination IPv4 address prefix length
***PORT, BEGIN, END***: TCP or UDP Port number in decimal format. END > BEGIN. Valid only when IP_PROTOCOL is 6, 17 ie TCP or UDP
***DSCP_VAL***: DSCP value in decimal format
**TCP Flags**: TCP flags are applicable when IP protocol is configured as 6 or TCP. ***established*** and other TCP flags like ***syn*** are mutually exclusive. Using ***not-*** form of the TCP flag will match the flag bit cleared ie 0. When multiple TCP flags are specified they all must match ie they are considered as *AND*. ***established*** keyword is equivalent to matching acknowledged (ack) or reset (rst) flag set.
***ICMP_TYPE***: ICMP type in decimal format. Valid only when IP_PROTOCOL is 1 i.e. ICMP
***ICMP_CODE***: ICMP code in decimal format. Valid only when IP_PROTOCOL is 1 i.e. ICMP
***VLANID***: VLAN ID in range 1-4094 in decimal format
***DESCRIPTION***: A string describing the rule. Must be in double quotes if it contains spaces. | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.5 Creating/Deleting a IPv6 ACL Rule +#### 3.6.2.5 Creating / Deleting a IPv6 ACL Rule | Mode | ACL | | ---- | ------ | | Syntax | sonic(config-ipv6-acl)# **seq** *<1-65535>* { **permit** \| **deny** } **tcp** { **any** \| **host** *SIPV6* \| *SIPV6* \[ / *SIPV6_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] { **any** \| **host** *DIP* \| *DIP* \[ / *DIP_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] \[ **dscp** *DSCP_VAL* \] \[ **established** \| \[ **fin** \] \[ **syn** \| **not-syn** \] \[ **rst** \| **not-rst** \] \[ **psh** \| **not-psh** \] \[ **ack** \| **not-ack** \] \[ **urg** \| **not-urg** \] \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv6-acl)# **seq** *<1-65535>* { **permit** \| **deny** } **udp** { **any** \| **host** *SIPV6* \| *SIPV6* \[ / *SIPV6_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] { **any** \| **host** *DIPV6* \| *DIPV6* \[ / *DIPV6_PREFIX_LEN* \] } \[ { **eq** \| **gt** \| **lt** } *PORT* \| **range** *BEGIN* *END* } \] \[ **dscp** *DSCP_VAL* \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv6-acl)# **seq** *<1-65535>* { **permit** \| **deny** } **icmp** { **any** \| **host** *SIPV6* \| *SIPV6* \[ / *SIPV6_PREFIX_LEN* \] } { **any** \| **host** *DIPV6* \| *DIPV6* \[ / *DIPV6_PREFIX_LEN* \] } \[ **dscp** *DSCP_VAL* \] \[ **type** *ICMP_TYPE* \] \[ **code** *ICMP_CODE* \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv6-acl)# **seq** *<1-65535>* { **permit** \| **deny** } *IPV6_PROTOCOL* { **any** \| **host** *SIPV6* \| *SIPV6* \[ / *SIPV6_PREFIX_LEN* \] } { **any** \| **host** *DIPV6* \| *DIPV6* \[ / *DIPV6_PREFIX_LEN* \] } \[ **dscp** *DSCP_VAL* \] \[ **vlan** *VLANID* \] [ **remark** *DESCRIPTION* ]

sonic(config-ipv6-acl)# **no seq** *<1-65535>* | | Arguments | ***IPV6_PROTOCOL***: IPv6 Protocol value in decimal format
***SIPV6***: Source IPv6 address
***SIPV6_PREFIX_LEN***: Source IPv6 address prefix length
***DIPV6***: Destination IPv6 address
***DIPV6_PREFIX_LEN***: Destination IPv6 address prefix length
***PORT, BEGIN, END***: TCP or UDP Port number in decimal format. END > BEGIN. Valid only when IP_PROTOCOL is 6, 17 ie TCP or UDP
***DSCP_VAL***: DSCP value in decimal format
**TCP Flags**: TCP flags are applicable when IP protocol is configured as 6 or TCP. ***established*** and other TCP flags like ***syn*** are mutually exclusive. Using ***not-*** form of the TCP flag will match the flag bit cleared ie 0. When multiple TCP flags are specified they all must match ie they are considered as *AND*. ***established*** keyword is equivalent to matching acknowledged (ack) or reset (rst) flag set.
***ICMP_TYPE***: ICMP type in decimal format. Valid only when IP_PROTOCOL is 58 i.e. ICMPv6
***ICMP_CODE***: ICMP code in decimal format. Valid only when IP_PROTOCOL is 58 i.e. ICMPv6
***VLANID***: VLAN ID in range 1-4094 in decimal format
***DESCRIPTION***: A string describing the rule. Must be in double quotes if it contains spaces. | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.6 Adding/Deleting ACL remark +#### 3.6.2.6 Adding / Deleting ACL remark | Mode | ACL | | ---- | ------ | | Syntax | sonic(config-xxx-acl)# **remark** *DESCRIPTION*
sonic(config-xxx-acl)# **no remark** | | Arguments | ***DESCRIPTION***: A string describing the ACL. Must be in double quotes if it contains spaces. | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.7 Adding/Deleting ACL Rule Remark +#### 3.6.2.7 Adding / Deleting ACL rule remark | Mode | ACL | | ---- | ------ | | Syntax | sonic(config-xxx-acl)# **seq** *<1-65535>* **remark** *DESCRIPTION*
sonic(config-xxx-acl)# **no seq** *<1-65535>* **remark** | @@ -1060,8 +1226,8 @@ Options: ##### 3.6.2.8.1 Applying ACL to different interfaces | Mode | Config | | ---- | ------ | -| Syntax | sonic(config-if-xxx)# \[ **no** \] { **mac** \| **ip** \| **ipv6** } **access-group** *NAME* { **in** \| **out** } | -| Change history | SONiC 3.1 - Introduced | +| Syntax | sonic(config-if-xxx)# \[ **no** \] { **mac** \| **ip** \| **ipv6** } **access-group** *NAME* { **in** \| **out** }
sonic(config-subif-xxx)# \[ **no** \] { **mac** \| **ip** \| **ipv6** } **access-group** *NAME* { **in** \| **out** } | +| Change history | SONiC 3.1 - Introduced
SONiC 3.2 - Added support for ACL binding to sub interfaces | ##### 3.6.2.8.2 Applying ACL globally | Mode | Config | @@ -1333,11 +1499,11 @@ Options: | Mode | Config | | ---- | ------ | -| Syntax | SONiC(config)# **policy-map** *NAME* **type** { **qos** \| **monitoring** \| **forwarding** } | +| Syntax | SONiC(config)# **policy-map** *NAME* **type** { **qos** \| **monitoring** \| **forwarding** \| **acl-copp** } | | Arguments | ***NAME***: Name of the policy to be created. String of 1-63 characters in length. Must begin with a alpha numeric character. Rest of the characters can be alpha numeric or hyphen (-) or underscore (\_). | | Change history | SONiC 3.1 - Introduced | -NOTE: **forwarding** policies can be created only using Sonic-CLI. +NOTE: **forwarding** and **acl-copp** policies can be created only using Sonic-CLI. ##### 3.6.2.14.2 Add policy using Click CLI (Deprecated) @@ -1389,17 +1555,51 @@ Options: | Syntax | SONiC(config-policy-map)# **no description** | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.18 Add flow identified by a classifier to a policy +#### 3.6.2.18 Adding a PBF next-hop group + +| Mode | Config | +| ------ | ------ | +| Syntax | SONiC(config)# **pbf next-hop-group** *NAME* [ **type** { **ip** \| **ipv6** } ] | +| Change history | SONiC 3.2 - Introduced | + +Specifying the type is mandatory during creating of the group. After create the next-hop group mode can be entered without specifying the type. + +#### 3.6.2.19 Updating PBF next-hop group members + +| Mode | PBF next-hop group | +| --- | --- | +| Syntax | SONiC(config-pbf-next-hop-group)# **entry** *ID* **next-hop** *IP_ADDR* \[ **vrf** *VRF_NAME* \] \[ **recursive** \| **non-recursive** \] | +| Syntax | SONiC(config-pbf-next-hop-group)# **no entry** *ID* | +| Arguments | ***IP_ADDR***: IPv4 or IPv6 Address of the next-hop depending on the group type. It can be reachable via underlay or over VxLAN tunnel.
***VRF_NAME***: VRF name. If the VRF name is not specified then it will be derived from the VRF of the interface on which the policy is applied or default will be used for global application.
**Next-hop type** If ***recursive*** or ***non-recursive*** is not specified then the next-hop can be reachable by any means. | +| Change history | SONiC 3.2 - Introduced | + +#### 3.6.2.20 Setting PBF next-hop group threshold +| Mode | PBF next-hop group | +| --- | --- | +| Syntax | SONiC(config-pbf-next-hop-group)# **threshold [ type** { **count** \| **percentage** } ] [ **up** *UP_VALUE* ] [ **down** *DOWN_VAL* ] | +| Arguments | ***UP_VALUE***: Threshold value for the group to be considered online. The value range is *1-100* for **percentage** and *1-128* for **count**
***DOWN_VALUE***: Threshold value for the group to be considered offline. The value range is *0-99* for **percentage** and *0-127* for **count** | +| Change history | SONiC 3.2 - Introduced | + +If no threshold values are set then the default type is count with up value of 1 and down value of 0. Updating the threshold type automatically clears the ***up*** and ***down*** values unless new values are specified in the same CLI. + +#### 3.6.2.21 Deleting a PBF next-hop group + +| Mode | Config | +| ------ | ------ | +| Syntax | SONiC(config)# **no pbf next-hop-group** *NAME* | +| Change history | SONiC 3.2 - Introduced | -##### 3.6.2.18.1 Add flow using Sonic-CLI +#### 3.6.2.22 Add flow identified by a classifier to a policy + +##### 3.6.2.22.1 Add flow using Sonic-CLI | Mode | Policy | | ------ | ------ | -| Syntax | SONiC(config-policy-map)# **class** *NAME* **priority** *PRIORITY* | -| Arguments | ***NAME***: Classifier name. String of 1-63 characters in length. Must begin with a alpha numeric character. Rest of the characters can be alpha numeric or hyphen (-) or underscore (\_).
***PRIORITY***: Priority number in range 0-1023 | +| Syntax | SONiC(config-policy-map)# **class** *NAME* [ **priority** *PRIORITY* ] | +| Arguments | ***NAME***: Classifier name. String of 1-63 characters in length. Must begin with a alpha numeric character. Rest of the characters can be alpha numeric or hyphen (-) or underscore (\_).
***PRIORITY***: Priority number in range 0-4095. Priority is mandatory at the time for creating the flow. For updating any actions for that flow, the flow mode can be entered without specifying priority. | | Change history | SONiC 3.1 - Introduced | -##### 3.6.2.18.2 Add flow using Click CLI (Deprecated) +##### 3.6.2.22.2 Add flow using Click CLI (Deprecated) ``` root@sonic:~# config flow add --help @@ -1414,9 +1614,9 @@ Options: --help Show this message and exit. ``` -#### 3.6.2.19 Delete flow identified by a classifier to a policy +#### 3.6.2.23 Delete flow identified by a classifier to a policy -#### 3.6.2.20 Deleting flow using Sonic-CLI +#### 3.6.2.24 Deleting flow using Sonic-CLI | Mode | Policy | | ------ | ------ | @@ -1424,7 +1624,7 @@ Options: | Arguments | ***NAME***: Classifier name. String of 1-63 characters in length. Must begin with a alpha numeric character. Rest of the characters can be alpha numeric or hyphen (-) or underscore (\_). | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.21 Deleting flow using Click CLI (Deprecated) +#### 3.6.2.25 Deleting flow using Click CLI (Deprecated) ``` root@sonic:~# config flow del --help @@ -1435,7 +1635,7 @@ Usage: config flow del [OPTIONS] Options: --help Show this message and exit. ``` -#### 3.6.2.22 Add flow description +#### 3.6.2.26 Add flow description | Mode | Flow | | ------ | ------ | @@ -1443,126 +1643,127 @@ Options: | Arguments | *STRING*: A string describing the flow. Max 256 characters. Description should be in double quotes if it has spaces. | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.23 Delete flow description +#### 3.6.2.27 Delete flow description | Mode | Flow | | ------ | ------ | | Syntax | SONiC(config-class-map)# **no description** | | Change history | SONiC 3.1 - Introduced | -#### 3.6.2.24 Add action(s) to flows +#### 3.6.2.28 Add action(s) to flows -##### 3.6.2.24.1 Add QoS actions to the flow using Sonic-CLI +##### 3.6.2.28.1 Add QoS actions to the flow using Sonic-CLI The following QoS actions can be added to the flow. QoS actions can be added/enabled only if the policy is of type **qos**. -###### 3.6.2.24.1.1 Add DSCP remarking action +###### 3.6.2.28.1.1 Add DSCP remarking action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **set dscp** *\<0-63\>* | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.1.2 Delete DSCP remarking action +###### 3.6.2.28.1.2 Delete DSCP remarking action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **no set dscp** | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.1.3 Add PCP remarking action +###### 3.6.2.28.1.3 Add PCP remarking action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **set pcp** *\<0-7\>* | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.1.4 Delete PCP remarking action +###### 3.6.2.28.1.4 Delete PCP remarking action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **no set pcp** | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.1.5 Add policer action +###### 3.6.2.28.1.5 Add policer action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **police cir** *CIR* \[**bc** *CBS* \] \[**pir** *PIR* \] \[**be** *PBS* \] | -| Arguments | ***CIR***: Committed information rate in bits per second. CIR is mandatory. The value can be optionally suffixed with kbps(1000), mbps(1000000), gbps (1000000000) or tbps (1000000000000).
***CBS***: Committed burst size in bytes. The value can be suffixed with KB(1000), MB(1000000), GB(1000000000) or TB(1000000000000). The default value is 20% of the CIR in bytes. If configured by the user, it must be greater than or equal to CIR in bytes.
***PIR***: Peak information rate in bits per second. The value can be optionally suffixed with kbps(1000), mbps(1000000), gbps (1000000000) or tbps (1000000000000). If configured by the user, it must be greater than CIR
***PBS***: Peak burst size. The value can be suffixed with KB(1000), MB(1000000), GB(1000000000) or TB(1000000000000). The default value is 20% of the PIR value in bytes. If configured by the user, it must be greater than PIR value in bytes and also CBS value. | +| Arguments | ***CIR***: Committed information rate in bits per second. CIR is mandatory. The value can be optionally suffixed with kbps(1000), mbps(1000000), gbps (1000000000) or tbps (1000000000000).
***CBS***: Committed burst size in bytes. The value can be suffixed with KB(1000), MB(1000000), GB(1000000000) or TB(1000000000000). The default value is 20% of the CIR in bytes. If configured by the user, it must be greater than or equal to CIR in bytes.
***PIR***: Peak information rate in bits per second. The value can be optionally suffixed with kbps(1000), mbps(1000000), gbps (1000000000) or tbps (1000000000000). If configured by the user, it must be greater than CIR.
***PBS***: Peak burst size. The value can be suffixed with KB(1000), MB(1000000), GB(1000000000) or TB(1000000000000). The default value is 20% of the PIR value in bytes. If configured by the user, it must be greater than PIR value in bytes and also CBS value. | | Change history | SONiC 3.1 - Introduced | If only CIR is configured, then its 1 rate, 2 color policer. Any traffic exceeding CIR value will be marked as red and will be dropped. If both CIR and PIR is configured, then is 2 rate 3 color policer. Any traffic that exceeds CIR but less than PIR will be marked as yellow. Any traffic that is more than PIR will be marked as red and will be dropped. -###### 3.6.2.24.1.6 Delete policer action +###### 3.6.2.28.1.6 Delete policer action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **no police** \[ **cir** \] \[**cbs** \] \[**pir** \] \[**pbs** \] | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.1.7 Add set traffic-class action +###### 3.6.2.28.1.7 Add set traffic-class action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **set traffic-class** *\<0-7\>* | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.1.8 Delete set traffic-class action +###### 3.6.2.28.1.8 Delete set traffic-class action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **no set traffic-class** | | Change history | SONiC 3.1 - Introduced | -##### 3.6.2.24.2 Adding monitoring actions to the flow +##### 3.6.2.28.2 Adding monitoring actions to the flow The following monitoring actions can be added to the flow. Monitoring actions can be added/enabled only if the policy is of type **monitoring**. -###### 3.6.2.24.2.1 Adding mirror session action +###### 3.6.2.28.2.1 Adding mirror session action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **set mirror-session** *SESSION_NAME* | | Arguments | *SESSION_NAME*: Mirror session name | | Change history | SONiC 3.1 - Introduced | -###### 3.6.2.24.2.2 Deleting mirror session action +###### 3.6.2.28.2.2 Deleting mirror session action | Mode | Flow | | ------ | ---- | | Syntax | SONiC(config-policy-map-flow)# **no set mirror-session** | | Change history | SONiC 3.1 - Introduced | -##### 3.6.2.24.3 Adding forwarding actions to the flow +##### 3.6.2.28.3 Adding forwarding actions to the flow The following forwarding actions can be added to the flow. Forwarding actions can be added/enabled only if the policy is of type **forwarding**. This configuration is only available in Sonic-CLI. -###### 3.6.2.24.3.1 Adding / Deleting IPv4 next-hop +###### 3.6.2.28.3.1 Adding / Deleting IPv4 next-hop | Mode | Flow | | ------ | ---- | -| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set ip next-hop** *IP_ADDR* \[ vrf *VRF_NAME* \] \[ priority *PRIORITY* \] | -| Arguments | ***IP_ADDR***: IPv4 Address of the next-hop. It can be reachable via underlay or over VxLAN tunnel.
***VRF_NAME***: VRF name. If the VRF name is not specified then it will be derived from the VRF of the interface on which the policy is applied or default will be used for global application.
***PRIORITY***: Priority of the next-hop. Range is 1-65535. Default is 0 ie lowest priority if not configured by the user. The next-hop with the higher priority will be picked up for forwarding first. If more than 1 next-hops have the same priority then the next-hop which is configured first will be used. | +| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set ip next-hop** *IP_ADDR* \[ **vrf** *VRF_NAME* \] \[ **priority** *PRIORITY* \] | +| Arguments | ***IP_ADDR***: IPv4 Address of the next-hop. It can be reachable via underlay or over VxLAN tunnel.
***VRF_NAME***: VRF name. If the VRF name is not specified then it will be derived from the VRF of the interface on which the policy is applied or default will be used for global application.
***PRIORITY***: Priority of the next-hop. Range is 1-65535. Default is 0 i.e. lowest priority if not configured by the user. The next-hop / next-hop-group with the higher priority will be picked up for forwarding first. If more than 1 next-hops / next-hop-groups have the same priority then the next-hop / next-hop-group which is configured first will be used. | | Change history | SONiC 3.1 - Introduced | -IPv4 next-hops are valid only if the classifier uses IPv4 ACL or IPv4 header fields for match. MAC header can be used in additional to IPv4 header fields. Only IPv4 routed traffic will be forwarded to the configured next-hop. Combining IPv4 next-hops with IPv6 next-hops or egress interface (except NULL) is not permitted. The next-hop must be reachable for it to be selected for routing. NULL egress can be configured to select drop as egress action if none of the next-hops are reachable. If NULL egress is not configured then the traffic will be routed normally. The next-hop IP should not be that of any local interface. Forwarding policies can only forward the traffic and not trap/switch/route to CPU. +IPv4 next-hops are valid only if the classifier uses MAC/IPv4 ACL or IPv4 header fields for match. MAC header fields can be used in additional to IPv4 header fields. Only IPv4 routed traffic will be forwarded to the configured next-hop. Combining IPv4 next-hops with IPv6 next-hops or egress interface (except NULL) is not permitted. The next-hop must be reachable for it to be selected for routing. NULL egress can be configured to select drop as egress action if none of the next-hops are reachable. If NULL egress is not configured then the traffic will be routed normally. The next-hop IP should not be that of any local interface. Forwarding policies can only forward the traffic and not trap/switch/route to CPU. -###### 3.6.2.24.3.2 Adding / Deleting IPv6 next-hop +###### 3.6.2.28.3.2 Adding / Deleting IPv6 next-hop | Mode | Flow | | ------ | ---- | -| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set ipv6 next-hop** *IPV6_ADDR* \[ vrf *VRF_NAME* \] \[ priority *PRIORITY* \] | -| Arguments | ***IPV6_ADDR***: IPv6 Address. It can be reachable via underlay or over VxLAN tunnel.
***VRF_NAME***: VRF name. If the VRF name is not specified then it will be derived from the VRF of the interface on which the policy is applied or default will be used for global application.
***PRIORITY***: Priority of the next-hop. Range is 1-65535. Default is 0 ie lowest priority if not configured by the user. The next-hop with the higher priority will be picked up for forwarding first. If more than 1 next-hops have the same priority then the next-hop which is configured first will be used. | +| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set ipv6 next-hop** *IPV6_ADDR* \[ **vrf** *VRF_NAME* \] \[ **priority** *PRIORITY* \] | +| Arguments | ***IPV6_ADDR***: IPv6 Address. It can be reachable via underlay or over VxLAN tunnel.
***VRF_NAME***: VRF name. If the VRF name is not specified then it will be derived from the VRF of the interface on which the policy is applied or default will be used for global application.
***PRIORITY***: Priority of the next-hop. Range is 1-65535. Default is 0 i.e. lowest priority if not configured by the user. The next-hop / next-hop-group with the higher priority will be picked up for forwarding first. If more than 1 next-hops / next-hop-groups have the same priority then the next-hop / next-hop-group which is configured first will be used. | | Change history | SONiC 3.1 - Introduced | -IPv6 next-hops are valid only if the classifier uses IPv6 ACL or IPv6 header fields for match. MAC header can be used in additional to IPv4 header fields. Only IPv6 routed traffic will be forwarded to the configured next-hop. Combining IPv6 next-hops with IPv4 next-hops or egress interface (except NULL) is not permitted. The next-hop must be reachable for it to be selected for routing. NULL egress can be configured to select drop as egress action if none of the next-hops are reachable. If NULL egress is not configured then the traffic will be routed normally. The next-hop IP should not be that of any local interface. Forwarding policies can only forward the traffic and not trap/switch/route to CPU. +IPv6 next-hops are valid only if the classifier uses MAC/IPv6 ACL or IPv6 header fields for match. MAC header fields can be used in additional to IPv4 header fields. Only IPv6 routed traffic will be forwarded to the configured next-hop. Combining IPv6 next-hops with IPv4 next-hops or egress interface (except NULL) is not permitted. The next-hop must be reachable for it to be selected for routing. NULL egress can be configured to select drop as egress action if none of the next-hops are reachable. If NULL egress is not configured then the traffic will be routed normally. The next-hop IP should not be that of any local interface. Forwarding policies can only forward the traffic and not trap/switch/route to CPU. -###### 3.6.2.24.3.3 Adding / Deleting egress interface +###### 3.6.2.28.3.3 Adding / Deleting egress interface | Mode | Flow | | ------ | ---- | -| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set interface** { **Ethernet***ID* \| **PortChannel***ID* } \[ priority *PRIORITY* \] | +| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set interface** { **Ethernet** *ID* \| **PortChannel** *ID* } \[ **priority** *PRIORITY* \] | | Arguments | ***ID***: Ethernet or PortChannel number.
***PRIORITY***: Priority of the egress port. Range is 1-65535. Default is 0 ie lowest priority if not configured by the user. The port with the higher priority will be picked up for forwarding first. If more than 1 ports have the same priority then the port which is configured first will be used. | | Change history | SONiC 3.1 - Introduced | -Egress interfaces configuration is valid only if the classifier uses MAC/L2 ACL for match. Only L2 switched traffic will be forwarded to the configured egress interface. Combining egress interface with IPv4 or IPv6 next-hops is not permitted. The egress interface must be a switchport and online for it to be selectable for forwarding, else it will be forward referenced. User is expected to make sure egress interface is part of necessary VLANs. NULL egress can be configured to select drop as egress action if none of the egress interfaces are online. If NULL egress is not configured then the traffic will be forwarded normally. +Egress interfaces configuration is applicable for classifiers which use L2/IPv4/IPv6 ACL or fields. Only L2 switched traffic will be forwarded to the configured egress interface. Combining egress interface with IPv4 or IPv6 next-hops / next-hop-groups is not permitted. The egress interface must be a switchport and online for it to be selectable for forwarding, else it will be forward referenced. User is expected to make sure egress interface is part of necessary VLANs. NULL egress can be configured to select drop as egress action if none of the egress interfaces are online. If NULL egress is not configured then the traffic will be forwarded normally. + -###### 3.6.2.24.3.4 Adding default drop action +###### 3.6.2.28.3.4 Adding / Deleting default drop action | Mode | Flow | | ------ | ---- | @@ -1571,7 +1772,41 @@ Egress interfaces configuration is valid only if the classifier uses MAC/L2 ACL Drop action if configured will be of the lowest priority and will be chosen if none of the configured next-hops or egress interfaces can be used for forwarding. -##### 3.6.2.24.4 Add flow actions using Click CLIs (Deprecated) +###### 3.6.2.28.3.5 Adding / Deleting IPv4 next-hop group action + +| Mode | Flow | +| --- | ---- | +| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set ip next-hop-group** *NAME* \[ **priority** *PRIORITY* \] | +| Arguments | ***NAME***: Name of next-hop group name of type ipv4.
***PRIORITY***: Priority of the next-hop. Range is 1-65535. Default is 0 i.e. lowest priority if not configured by the user. The next-hop / next-hop-group with the higher priority will be picked up for forwarding first. If more than 1 next-hops / next-hop-groups have the same priority then the next-hop / next-hop-group which is configured first will be used. | +| Change history | SONiC 3.2 - Introduced | + +IPv4 next-hop-groups are valid only if the classifier uses L2/IPv4 ACL / Fields for match. Only IPv4 routed traffic will be forwarded to the configured next-hop. Combining IPv4 next-hops with IPv6 next-hops or egress interface (except NULL) is not permitted. The next-hop-group must be online for it to be selected for routing. NULL egress can be configured to select drop as egress action if none of the next-hop-groups are reachable. If NULL egress is not configured then the traffic will be routed normally. + +###### 3.6.2.28.3.6 Adding / Deleting IPv6 next-hop group action + +| Mode | Flow | +| --- | ---- | +| Syntax | SONiC(config-policy-map-flow)# \[ **no** \] **set ipv6 next-hop-group** *NAME* \[ **priority** *PRIORITY* \] | +| Arguments | ***NAME***: Name of next-hop group name of type ipv6.
***PRIORITY***: Priority of the next-hop. Range is 1-65535. Default is 0 i.e. lowest priority if not configured by the user. The next-hop / next-hop-group with the higher priority will be picked up for forwarding first. If more than 1 next-hops / next-hop-groups have the same priority then the next-hop / next-hop-group which is configured first will be used. | +| Change history | SONiC 3.2 - Introduced | + +IPv6 next-hop-groups are valid only if the classifier uses L2/IPv6 ACL / Fields for match. Only IPv6 routed traffic will be forwarded to the configured next-hop. Combining IPv6 next-hops with IPv4 next-hops or egress interface (except NULL) is not permitted. The next-hop-group must be online for it to be selected for routing. NULL egress can be configured to select drop as egress action if none of the next-hop-groups are reachable. If NULL egress is not configured then the traffic will be routed normally. + +##### 3.6.2.28.4 Adding CoPP actions to the flow +The following actions can be added to a ACL-CoPP Policy flow + +###### 3.6.2.28.4.1 Adding / Deleting trap Queue action +| Mode | Flow | +| ------ | ---- | +| Syntax | SONiC(config-policy-map-flow)# **set trap-queue <0-47>** | +| Syntax | SONiC(config-policy-map-flow)# **no set trap-queue** | +| Change history | SONiC 3.2 - Introduced | + +###### 3.6.2.28.4.2 Adding / Deleting Policer action + +The policer CLIs will be same as mentioned in + +##### 3.6.2.28.5 Add flow actions using Click CLIs (Deprecated) ``` root@sonic:~# config flow update --help @@ -1605,20 +1840,23 @@ If both CIR and PIR is configured, then is 2 rate 3 color policer. Any traffic t Forwarding actions are supported only in Sonic-CLI. -#### 3.6.2.25 Applying the policy to an interface +#### 3.6.2.29 Applying the policy to an interface -##### 3.6.2.25.1 Applying policy to an interface using Sonic-CLI +##### 3.6.2.29.1 Applying policy to an interface using Sonic-CLI | Mode | Config or Interface | | ------ | ------------------- | | Syntax | SONiC(config)# **service-policy type qos** { **in** \| **out** } *NAME*
SONiC(config)# **service-policy type** { **monitoring** \| **forwarding** } **in** *NAME* | | Syntax | SONiC(config-if-xxxx)# **service-policy type qos** { **in** \| **out** } *NAME*
SONiC(config-if-xxxx)# **service-policy type** { **monitoring** \| **forwarding** } **in** *NAME* | +| Syntax | SONiC(config-line-vty)# **service-policy type qos in** *NAME* | +| Syntax | SONiC(config-if-CPU)# **service-policy type acl-copp in** *NAME* | +| Syntax | SONiC(config-subintf-xxxx)# **service-policy type qos** { **in** \| **out** } *NAME*
SONiC(config-subintf-xxxx)# **service-policy type** { **monitoring** \| **forwarding** } **in** *NAME* | | Arguments | *NAME*: Name of the policy to be applied | -| Change history | SONiC 3.1 - Introduced | +| Change history | SONiC 3.1 - Introduced
SONiC 3.1.1 - Added QoS policy binding to line vty
SONiC 3.2 - Added acl-copp Policy binding to CPU interface.
SONiC 3.2 - Added QoS, Monitoring and Forwarding policy binding for sub interfaces. | -NOTE: Forwarding policy can be applied only using Sonic-CLI. When a forwarding policy is applied globally, the next-hops +**NOTE**: Forwarding, ACL-CoPP policy can be applied only using Sonic-CLI. When a forwarding policy is applied globally, the next-hops are assumed to be in default VRF unless user has specified the VRF explicitly. -##### 3.6.2.25.2 Applying policy to an interface using Click CLI (Deprecated) +##### 3.6.2.29.2 Applying policy to an interface using Click CLI (Deprecated) ``` root@sonic:~# config service-policy bind --help @@ -1630,18 +1868,21 @@ Options: --help Show this message and exit. ``` -#### 3.6.2.26 Removing policy from an interface +#### 3.6.2.30 Removing policy from an interface -##### 3.6.2.26.1 Removing policy from an interface using Sonic-CLI +##### 3.6.2.30.1 Removing policy from an interface using Sonic-CLI | Mode | Config or Interface | | ------ | ------------------- | | Syntax | SONiC(config)# **no service-policy type qos** { **in** \| **out** }
SONiC(config)# **no service-policy type** { **monitoring** \| **forwarding** } **in** | -| Syntax | SONiC(config-if-xxxx)# **no service-policy type qos** { **in** \| **out** }
SONiC(config-if-xxxx)# **service-policy type** { **monitoring** \| **forwarding** } **in** | -| Change history | SONiC 3.1 - Introduced | +| Syntax | SONiC(config-if-xxxx)# **no service-policy type qos** { **in** \| **out** }
SONiC(config-if-xxxx)# **no service-policy type** { **monitoring** \| **forwarding** } **in** | +| Syntax | SONiC(config-subintf-xxxx)# **no service-policy type qos** { **in** \| **out** }
SONiC(config-subintf-xxxx)# **no service-policy type** { **monitoring** \| **forwarding** } **in** | +| Syntax | SONiC(config-line-vty)# **no service-policy type qos in** *NAME* | +| Syntax | SONiC(config-if-CPU)# **no service-policy type acl-copp in** *NAME* | +| Change history | SONiC 3.1 - Introduced
SONiC3.1.1 - Added QoS policy unbinding from line vty
SONiC 3.2 - Added acl-copp Policy unbinding from CPU interface.
SONiC 3.2 - Added QoS, Monitoring and Forwarding policy binding for sub interfaces. | -NOTE: Forwarding policy can be removed only using Sonic-CLI. +NOTE: Forwarding, ACL-CoPP policy can be removed only using Sonic-CLI. -##### 3.6.2.26.2 Removing policy from an interface using Click CLI (Deprecated) +##### 3.6.2.30.2 Removing policy from an interface using Click CLI (Deprecated) ``` root@sonic:~# config service-policy unbind --help @@ -1673,8 +1914,9 @@ Ingress IP access-list ipacl on Vlan100 #### 3.6.3.2 Show ACL Rules and statistics | Mode | Exec | | ------ | ------------------- | -| Syntax | SONiC# **show** { **mac** \| **ip** \| **ipv6** } **access-list** \[ *NAME* \] | -| Change history | SONiC 3.1 - Introduced | +| Syntax | SONiC# **show** { **mac** \| **ip** \| **ipv6** } **access-list** \[ *NAME* \]
SONiC# **show** { **mac** \| **ip** \| **ipv6** } **access-list** \[ *NAME* \] \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* \| **Switch** \] | +| Arguments | Interface names arguments are valid only when the counter mode is set to **per-acl-interface** | +| Change history | SONiC 3.1 - Introduced
SONiC 3.2 - Added sub interface interface argument | ***Sample Output:*** @@ -1691,7 +1933,7 @@ ip access-list ipacl | Mode | Exec | | ------ | ------------------- | -| Syntax | SONiC# **clear { **mac** \| **ip** \| **ipv6** } counters** **access-list** \[ *NAME* \] | +| Syntax | SONiC# **clear** { **mac** \| **ip** \| **ipv6** } **counters access-list** \[ *NAME* \] | | Change history | SONiC 3.1 - Introduced | #### 3.6.3.4 Show classifier details @@ -1735,8 +1977,8 @@ Options: ##### 3.6.3.5.1 Show policy details using Sonic-CLI | Mode | Exec | | ------ | ------------------- | -| Syntax | SONiC# **show policy-map** [ *NAME* \| **type** { **qos** \| **monitoring** \| **forwarding** } ] | -| Change history | SONiC 3.1 - Introduced | +| Syntax | SONiC# **show policy-map** [ *NAME* \| **type** { **qos** \| **monitoring** \| **forwarding** \| **acl-copp**} ] | +| Change history | SONiC 3.1 - Introduced
SONiC 3.2 - Added **acl-copp** keyword | ##### 3.6.3.5.2 Show policy details using Click-CLI (Deprecated) @@ -1773,9 +2015,9 @@ Options: | Mode | Exec | | --------- | ---- | -| Syntax | SONiC# **show service-policy summary** \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Switch** } \] \[ **type** { **qos** \| **monitoring** \| **forwarding** } \] | +| Syntax | SONiC# **show service-policy summary** \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* } \| **Switch** \| **CPU** \] \[ **type** { **qos** \| **monitoring** \| **forwarding** \| **acl-copp** } \] | | Arguments | *ID*: Number of Ethernet or PortChannel or Vlan | -| Change history | SONiC 3.1 - Introduced | +| Change history | SONiC 3.1 - Introduced
SONiC 3.2 - Added **acl-copp** keyword
SONiC 3.2 - Added subinterface name argument | ##### 3.6.3.6.2 Show policy binding summary using Click CLI (Deprecated) @@ -1791,24 +2033,26 @@ Options: -?, -h, --help Show this message and exit. ``` +**NOTE:** Sub interface interface names will not be supported in Click CLIs which accept interface name as argument. + ##### 3.6.3.6.3 Show policy binding summary sample output | CLI Type | CLI Syntax | | -------- | ---------- | | Sonic-CLI | SONiC# show service-policy summary | | Click-CLI (Deprecated) | root@sonic~# show service-policy summary | -| Sample Output | Ethernet0
  qos policy qos_policy0 at ingress
  monitoring policy mon_policy_0 at ingress
PortChannel100
  qos policy policy0 at egress
Vlan100
  forwarding policy pbr0 at ingress | +| Sample Output | Ethernet0
  qos policy qos_policy0 at ingress
  monitoring policy mon_policy_0 at ingress
PortChannel100
  qos policy policy0 at egress
Vlan100
  forwarding policy pbr0 at ingress
CPU
  acl-copp policy copp at ingress | -#### 3.6.3.7 Show/Clear policy binding and counters for an interface +#### 3.6.3.7 Show / Clear policy binding and counters for an interface -##### 3.6.3.7.1 Show/Clear policy binding and counters using SONiC-CLI +##### 3.6.3.7.1 Show / Clear policy binding and counters using SONiC-CLI | Mode | Exec | | --------- | ---- | -| Syntax | SONiC# **show service-policy** { **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Switch** } \[ **type** { **qos** \| **monitoring** \| **forwarding** } \] \| **policy-map** *NAME* \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Switch** \] }

SONiC# **clear counters service-policy** { **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Switch** } \[ **type** { **qos** \| **monitoring** \| **forwarding** } \] \| **policy-map** *NAME* \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Switch** \] } | -| Arguments | *ID*: Number of Ethernet or PortChannel or Vlan
*NAME*: Name of the policy applied. | -| Change history | SONiC 3.1 - Introduced | +| Syntax | SONiC# **show service-policy** { **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* } \| **Switch** \[ **type** { **qos** \| **monitoring** \| **forwarding** } \] \| **policy-map** *NAME* \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* } \| **Switch** \] }

SONiC# **show service-policy** { **interface CPU** [ **type acl-copp** ] \| [ **policy-map** *NAME* [ **interface CPU** ] }

SONiC# **clear counters service-policy** { **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* } \| **Switch** \[ **type** { **qos** \| **monitoring** \| **forwarding** } \] \| **policy-map** *NAME* \[ **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* } \| **Switch** \] }

SONiC# **clear counters service-policy** { **interface CPU** [ **type acl-copp** ] \| **policy-map** *NAME* [ **interface CPU** ] }
| +| Arguments | *ID*: Number of Ethernet or PortChannel or Vlan
*NAME*: Name of the policy applied.
**acl-copp** policies are applicable only for **CPU** interface. | +| Change history | SONiC 3.1 - Introduced
SONiC 3.2 - Added **acl-copp** keyword and **CPU** interface
SONiC 3.2 - Added subinterface name argument | -##### 3.6.3.7.2 Show/Clear policy binding and counters using Click CLI (Deprecated) +##### 3.6.3.7.2 Show / Clear policy binding and counters using Click CLI (Deprecated) ``` root@sonic:~# show service-policy interface --help @@ -1835,7 +2079,10 @@ Options: -?, -h, --help Show this message and exit. ``` +**NOTE:** Sub interface interface names will not be supported in Click CLIs which accept interface name as argument. + ##### 3.6.3.7.3 Show policy binding and counters sample output + | CLI Type | CLI Syntax | | -------- | ---------- | | Sonic-CLI | SONiC# show service-policy interface Ethernet0 | @@ -1857,7 +2104,34 @@ Options: | Sonic-CLI | SONiC# show service-policy interface Vlan 100 type forwarding | | Sample Output | Vlan100
  Policy pbr_policy_example Type forwarding at ingress
  Description:
    Flow acl_class_1000 at priority 1000 (Active)
      Description:
      set ip next-hop 10.1.1.1 vrf default
      set ip next-hop 20.1.1.1 vrf VrfRed
      set ip next-hop 30.1.1.1 (Selected)
      set interface null
      Packet matches: 128 frames 128000 bytes
    Flow acl_class_999 at priority 999 (Active)
      Description:
      set ip next-hop 11.1.1.1 vrf default (Selected)
      set ip next-hop 21.1.1.1 vrf VrfRed
      set ip next-hop 31.1.1.1
      set interface null
      Packet matches: 0 frames 0 bytes
    Flow fields_class_0 at priority 999 (Active)
      Description:
      set ip next-hop 1111::1 vrf default
      set ip next-hop 2222::1 vrf VrfRed (Selected)
      set ip next-hop 3333::1
      set interface null
      Packet matches: 0 frames 0 bytes | -#### 3.6.3.8 TCAM Allocation + + +| CLI Type | CLI Syntax | +| -------- | ---------- | +| Sonic-CLI | SONiC# show service-policy interface Vlan 1000 type forwarding | +| Sample Output | Vlan1000
  Policy pbr_policy_example_2 Type forwarding at ingress
  Description:
    Flow acl_class_1000 at priority 1000 (Active)
      Description:
      set ip next-hop 10.1.1.1 vrf default
      set ip next-hop 20.1.1.1 vrf VrfRed
      set ip next-hop 30.1.1.1 (Selected)
      set interface null
      Packet matches: 128 frames 128000 bytes
    Flow acl_class_999 at priority 999 (Active)
      Description:
      set ip next-hop-group ip-load-share (Selected)
      set ip next-hop-group backup-load-share
      set ip next-hop 31.1.1.1
      set interface null
      Packet matches: 0 frames 0 bytes | + +#### 3.6.3.8 Show policy based forwarding next-hop groups + +The following CLI is used to display the next-hop groups configuration and references + +| Mode | Exec | +| ------ | --- | +| Syntax | SONiC# **show pbf next-hop-group** [ *NAME* \| **type** { **ip** \| **ipv6** } ] | +| Change history | SONiC 3.2 - Introduced | +| Sample output | Next-hop-group ipv4-test Type ip
  Description:
  Threshold type: percentage
  Threshold up: 80
  Threshold down: 30
  Members:
    entry 1 next-hop 10.1.1.1 recursive
    entry 2 next-hop 10.1.1.2 vrf VrfRed non-recursive
    entry 3 next-hop 10.1.1.3
 Referenced in flows:
    policy-map pbr-test at priority 100 | + +#### 3.6.3.9 Show policy based forwarding next-hop group state for a specified interface + +The following CLI is used to display the operational state of the next-hop group when the next-hop-group is not selected for forwarding. + +| Mode | Exec | +| ------ | --- | +| Syntax | SONiC# **show pbf next-hop-group status** { **interface** { **Ethernet** *ID* \| **PortChannel** *ID* \| **Vlan** *ID* \| **Ethernet** *ID*.*SUBPORT* \| **PortChannel** *ID*.*SUBPORT* } \| **Switch** } [ *NAME* \| **type** { **ip** \| **ipv6** } ] | +| Change history | SONiC 3.2 - Introduced | +| Sample output | Ethernet0
  Next-hop-group ipv4-test Type ip
    Status: Active
    Members:
      Entry 1 next-hop 10.1.1.1 recursive (Active)
      Entry 2 next-hop 10.1.1.2 vrf VrfRed non-recursive
      Entry 3 next-hop 10.1.1.3 (Active) | + +#### 3.6.3.10 TCAM Allocation By default the TCAM allocation is set to First come first serve. When certain features are configured beyond scale, after reboot they may consume more resources than pre-reboot which may affect other features. The feature behavior becomes unpredictable across reboots. A TCAM allocation utility is provided to partition the TCAMs as per users requirements. This ensures that all TCAM based features only consume the resources allocated to them and not impact others when they are configured beyond what's allocation in the allocation scheme. @@ -1869,7 +2143,7 @@ By default the TCAM allocation is set to First come first serve. When certain fe 3) PFC Watchdog -##### 3.6.3.8.1 Available predefined TCAM profiles +##### 3.6.3.10.1 Available predefined TCAM profiles The following command can be used to view the predefined profile names. @@ -1882,7 +2156,7 @@ DEFAULT-L2 Optimized for Layer 2 ACLs DEFAULT-L3 Optimized for Layer 3 ACLs ``` -##### 3.6.3.8.2 Predefined TCAM profile details +##### 3.6.3.10.2 Predefined TCAM profile details The following command can be used to see the predefined profile details. The following is an example and the output will be different on different platforms depending on the capabilities of the ASIC used. @@ -1928,7 +2202,7 @@ Total 9 TCAM slices of 9 allocated. Each slice has 256 entries Total 2 TCAM slices of 2 allocated. Each slice has 256 entries ``` -##### 3.6.3.8.3 Setting the predefined profile +##### 3.6.3.10.3 Setting the predefined profile The following command is used to set the TCAM profile. A `--startup` option is also available to modify the TCAM allocation in startup configuration. `--startup` requires the system to be rebooted/config reload for the TCAM allocation to take effect. @@ -1939,7 +2213,7 @@ Example: admin@sonic:~$ sudo tcamutil set profile DEFAULT-L2 ``` -##### 3.6.3.8.4 Checking the current TCAM Allocation +##### 3.6.3.10.4 Checking the current TCAM Allocation The following command can be used to check the current TCAM allocation @@ -1986,7 +2260,7 @@ Total 2 TCAM slices of 2 allocated. Each slice has 256 entries ``` -##### 3.6.3.8.5 Clearing the TCAM Allocation scheme. +##### 3.6.3.10.5 Clearing the TCAM Allocation scheme. The following command can be used to clear the TCAM allocation scheme and set it to First Come First Serve. A `--startup` option is also available to modify the TCAM allocation in startup configuration. `--startup` requires the system to be rebooted/config reload for the TCAM allocation to take effect. @@ -1995,7 +2269,7 @@ admin@sonic:~$ sudo tcamutil clear Info: TCAM Allocation cleared from the running config. Please save the config before doing reboot or config reload ``` -##### 3.6.3.8.6 Modifying the current TCAM allocation +##### 3.6.3.10.6 Modifying the current TCAM allocation The following command is used to modify the current TCAM allocation scheme. A `--startup` option is also available to modify the TCAM allocation in startup configuration. `--startup` requires the system to be rebooted/config reload for the TCAM allocation to take effect. @@ -2045,7 +2319,7 @@ tables or NumEntries if the feature supports single table. Example 2x256 or A TCAM allocation must be set currently to modify it. If no current TCAM allocation is set then use the **set** option described below. -##### 3.6.3.8.7 Setting a custom TCAM allocation +##### 3.6.3.10.7 Setting a custom TCAM allocation The following command is used to set the current TCAM allocation scheme. This can be used when the predefined profile fit the requirement and and its not desired to set a predefined profile and modify it multiple times to fit the need. A `--startup` option is also available to modify the TCAM allocation in startup configuration. `--startup` requires the system to be rebooted/config reload for the TCAM allocation to take effect. @@ -2147,31 +2421,31 @@ tables or NumEntries if the feature supports single table. Example 2x256 or ![Creating classifier](images/CreateClassifier.png "Create a Classifier") -**Figure 8: Create a Classifier** +**Figure 10: Create a Classifier** ## 4.2 Create a QoS Policy and Section ![Create a QoS Policy and Section](images/CreatePolicy.png "Create a QoS Policy and Section") -**Figure 9: Create a QoS Policy and Section** +**Figure 11: Create a QoS Policy and Section** ## 4.3 Bind QoS policy to an interface ![Bind QoS policy to an interface](images/ApplyPolicy.png "Bind QoS policy to an interface") -**Figure 10: Bind QoS policy to an interface** +**Figure 12: Bind QoS policy to an interface** ## 4.4 Creating ACL rules with policer ![Adding Rule with policer](images/RuleAddPolicer.png "Adding Rule with policer") -**Figure 11: Adding Rule with policer** +**Figure 13: Adding Rule with policer** ## 4.5 Deleting ACL Rules with policer ![Deleteing Rule with policer](images/RuleDelPolicer.png "Deleting Rule with policer") -**Figure 12: Deleting Rule with policer** +**Figure 14: Deleting Rule with policer** # 5 Error Handling @@ -2218,7 +2492,7 @@ The following the ASIC limitations that must be noted when configuring the polic # 10 Upgrade / Downgrade considerations -| Source Release | Target Release | Details | +| Source Release | Target Release | Details | | --- | --- | --- | | SONiC 3.1.1 | Pre SONiC 3.1.1 | On downgrade from SONiC 3.1.1 to previous releases, if the IP / IPv6 ACL rules are configured with "established" keyword then such rules will be deleted during downgrade. | @@ -2269,7 +2543,7 @@ SONiC(config-class-map)# match access-group mac l2_ACL_0 # ------------------------------------- # Create policy policy0 for QoS actions # ------------------------------------- -SONiC(config)# policy policy0 type qos +SONiC(config)# policy-map policy0 type qos # Create flow using classifier class0 and set results SONiC(config-policy-map)# class class0 priority 200 @@ -2284,7 +2558,7 @@ SONiC(config-policy-map-flow)# police cir 10mbps cbs 20MB pir 50mbps pbs 100MB # -------------------------------------------- # Create policy policy1 for Monitoring actions # -------------------------------------------- -SONiC(config)# policy policy1 type monitoring +SONiC(config)# policy-map policy1 type monitoring # Create flow using class1 and set results SONiC(config-policy-map)# class class1 priority 100 @@ -2294,7 +2568,7 @@ SONiC(config-policy-map-flow)# set mirror-sesion test_session # ------------------------------------ # Create policy policy2 for Forwarding # ------------------------------------ -SONiC(config)# policy policy2 type forwarding +SONiC(config)# policy-map policy2 type forwarding SONiC(config-policy-map)# class class0 priority 100 SONiC(config-policy-map-flow)# set ip next-hop 10.1.1.1 priority 900 SONiC(config-policy-map-flow)# set ip next-hop 100.1.1.1 vrf default priority 800 @@ -2302,6 +2576,13 @@ SONiC(config-policy-map-flow)# set ip next-hop 132.45.2.100 vrf VrfOrange priori SONiC(config-policy-map-flow)# set ip next-hop 100.10.20.30 SONiC(config-policy-map-flow)# set interface null +# ---------------------------------------- +# Create policy policy3 for ACL-CoPP +# --------------------------------------- +SONiC(config)# policy-map policy3 type acl-copp +SONiC(config-policy-map)# class class0 priority 100 +SONiC(config-policy-map-flow)# set trap-queue 30 +SONiC(config-policy-map-flow)# police cir 30kpbs # ------------------------------------ # Apply policy to required interfaces. @@ -2318,6 +2599,9 @@ SONiC(conf-if-Ethernet4)# exit SONiC(config)# interface Ethernet 8 SONiC(conf-if-Ethernet8)# service-policy type forwarding in policy2 + +SONiC(config)# interface CPU +SONiC(conf-if-CPU)# service-policy type acl-copp in policy3 ``` # 13 Internal Design Information diff --git a/L24Services/ACL/images/ACLEvalMultiIntf.png b/L24Services/ACL/images/ACLEvalMultiIntf.png index 6e19361829705dccf6d73fb68135e3a50edf9ca6..395446d94413c21be7ce54fd6e6e579ab7b73d36 100644 GIT binary patch literal 54850 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 F`9CG8TO0rY literal 25271 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 diff --git a/L24Services/ACL/images/ACLStages.png b/L24Services/ACL/images/ACLStages.png index fac8d183ac7801a2d89f528d6ba4a1d1b8697fc0..4401beb3e8c1ec7272da3b41fd4cfa4b73729cd9 100644 GIT binary patch literal 75232 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 z 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 literal 50008 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%0Ag8J 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 XvR2wsHggXH_)&STq44$DtHA#UfFzPu diff --git a/L24Services/ACL/images/PBRNhGrpDirect.png b/L24Services/ACL/images/PBRNhGrpDirect.png new file mode 100644 index 0000000000000000000000000000000000000000..963ee8c827fe989b6f049562c07980d7c6c3bed1 GIT binary patch literal 47038 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%0DEa-`fT*l^>ume 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

  • {6E9T*o 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 CeX(Q! diff --git a/L24Services/ACL/images/PolicyEvalMultiHit.png b/L24Services/ACL/images/PolicyEvalMultiHit.png index dcd235137704e075207bafab534fe8698c0eaf42..daf10d5c15369c2805c6eb16993496dd32f53999 100644 GIT binary patch literal 31284 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 diff --git a/L24Services/ACL/images/PolicyEvalMultiIntf.png b/L24Services/ACL/images/PolicyEvalMultiIntf.png index 04bfb1bfa707c7e4f961057908242c4d4cb9c8a7..855b296d04cf39a6f2c6f07bbc812ba38df0dfbf 100644 GIT binary patch literal 33807 zcmd?RcTm$?_y4QMBcPzDs5Ai)1Qn?P0@AD$X(}ozok)`s>5u{{ASg}gAruh=QHu1Q zC?!Y z%S7+cL7{_t_Ut)ipnv_&o;|;j_w3nwor?o_hkfnN@SZ)-_845hayP(wF@1lUWDE0U zxVduH}=zJwN?z?7;8RYE!X>Pc=rz8g_S#e8>9l zZ!DXTJ$UQNs07BYNA0Jrg^Y~3N9-!pD zuiwiR1Er@YQ&Z*&jZ_H{M&78cOM2bJb-x%z4>&kN2F67nQ~I_&fh(lGe^(%18tqA) zd{_O)|9+pS-lRq&qUgfIu>PTM)oNsiT6KaoD);-kne{H&XwY%%o^~w9kEF$&QTtK4 z7axIeF@5fb5kIGct56lj{6#6|`#7#4R%YULQ2R5ZCSx*_#0?l`e;n0Q9jX1OsUJ^$ zafKOBk(Axli)*P@I%gp%&k`qmt#?~Aa<9?t=zwY5ONC;|S7};rJy}j!!1(&mc*c>* zpjUG@`DT_(Wk1qjY6Kk+KB4N+H)rbGxrb&t%RSyGKk&xndr*wh+@%JOj&iiiMH9VI zXUhWakWwtgA@+9%{KVtQ0sJAjd8hq6%YNr$QQbx8dzuMOgYNT-Fa_Ti?6IzW|yH8a^QId(MM@z7$3{tWL=3XsN|TZQ&RBa4kOr7-^Zw z4Ppr@-1GwrL7<{@wkBp|PHg0St>Mt^-T};~V`@%Y8)2>21@E`7zwn&l1XR%w8q*1; zv?XKX+3X5W$2qZY+Yv@&3T@XO8LTb#TC}EmQQ0ibuk>avl~x)HLZYxi?frNko`xtf zp~2+_qs*yd#dd-D{Akcl0zOrK-}>@x9Dd)awC;F0P-AtPFGW!@V+c{4+)aQBPLKz; znVQVy&N7kaUCqqkrfSAAyy03&;SCq*�{+29>+PecmyswmxcOMeq!dxWh#acT!P= zuh9;OYqG46Fy)@~y+fO8MElKPSiW(wa1};=Ef9)na}QRQXDJivuE5Dnon@Q}OzP=c z<>Cc{t2F$fCW=Ue`^z2#WUWzk^a!(dg`Wq*iPQ>vk( zI2kP*T=4GR&TnVWE0J9tE`3$IHsscx0)<5kn>6DgrhRU-hLn74a@K9D>>kBNdOLy} z5bOJ+G-G+ChBQOLL9{MaQra78-)5F8!qLg7?2R`P)N&Ms4k#>ToS_+;9-^)L@x_wv zi}p3wd+xp1X!A}{!%YKxpnJ+;S9&mbnzmm4TfT}Lw?o;CL%2h2clB|>6p3QJrnS=B zD&*})Ps8)E;ReQ9oI$FS6W-SvHJK|-(M0JIrYNCWn5TU=qZ@K*GwmFN^%V^bRorJ( z2;RZsJM8tp{mczlMR07p8Fve3syi&|tz=4{QF$hO8aBt=KQU8}Ak@o(f8V8iM^mlV z0=1>Jxjo_#-CwBF42tloAqVUHvhnhPt2B{Z3!m%Gn8-Vth(`t~xh1~VFE<^er@&W4 z$njlV_$syuOqF+j!seze&Im0q=<#q;o0xKjh7W>*mXjj{F!G4JR|amuG|ufuKaym& zH@MVH&gc1}^eWeF#po2OZ-`g-o=I5Ju5H@wb@!bc_IL5%hEG8mk+IT7{^uGQ zK9HUfuRw|LEBj#rsNk{cC9+gzt6OWQgJswBS*bCd>?atl(Q-Ez%S-zuzV&br4q_M@ zi;B^BFz$IEY`Q7(Y~aTP$ZXA*mlX7%XrIQpY-tP^RB0$LtAqzyI=lBU-hXp!SWP~g zU%Q#{5>7Lw%F|NDDlLQCJM`Q3LNRl_vPv~tH%wEZ_DpoP_X{uf&b6HG9`qu-ucHUW zq<7yt?GdLXaJw%Zkv`}uwd5kNL>BpwUf@0tzL%x{V?v+_!Lo6d`<}dNyNiSe$KMYH zled+;tanEuedF&?&fnBH(Csifq$$)X5kpic453dghP$hs+>Ta!(m{OrG7T-mUN}54 zq%8@Z$pSrBmSsn#^0Oi;7eS`CM-E^Em`WZ8wGUE`&Kx4|JyyI=96QkiU;y4Agt)i^1kOrA-F1?fM~Y&mNrOq+8}AV9{B zk`NMIB6(92Dh`>bEhj=E(-F>;TQxk=Ex73=dT!(CK59oG$3C-Dd3_br?$>B|MSS$q zaISXRg@e$G+xWAvv1;n!?v_oZm|#+f1yaMP}Q8KmMAA=p{*&7oxIcRz%=x!wt)7#e*rrSS=vo+tcusim`KR zE3_{*hiUlT^@gl4f<%1IdCMuMeqS?- zxvW3xwvv8$T!2Q-d~ieS!;Mf1nmQU`sr`e~)7z*Rw24-kI;6P59R+q0@G{M&5UKmL zor2v~0=><`m{ZAzADoAVt2ymy4Z%Lw(U4z==t0n2pSP0N<)2IACm4Hnv@2;OxlZ zr9i=z$U_e65iIY0ip%(p+ZNWMsZiZlt7QK!^+lO>X5zlh7$(WlqrSDPgBi0){k>JL z_19N4c`uY+QSS&8?d;ez($svsO!RP>Cw3M~X-sX5d&-0!c^?jl6%OGtoOTdUATQwd zk5z5xe2e|W8KtZ`|Kjz53R3+q7E@{JZ5)1TD&wmlrnMKyUEnnw&XM z}78ToKgT{Rt1JDtGm)Xan=aqOn3U z*M{{97`^q2?e$|HQ=tQM#s_qH`C2hq{5{2d+cRy^rd+rX&inb3x*{lzs4?O3&- zOHF91sWA&_V98Ej!+Q8SV0I2YZ)F6*y@g2IVkyaimEFH4;bbax1-D1PAuA2pq1aOV z1mhlH^5VmbOFRm{e81t@$z0p_Vhu47@S-;e;=z#Z6>25bo7dRyM z48!TaRd40r>5ulLkdon^d*^1yKcbAa7zvTe{Ku{1DMy7&S9C=@OX#*j3NI4)xIvMM zYYq3-xvscjYQAh`B8NSA4$^{j>@eSKW)-hk9#>p&lX0+Y7FT9Dd&Z|izgCCy-;yU4 zV{iSMSh>Yr(4m%nmMO^D?}!j~n0NvTAr_KnB6gS~qrn7GZY z4Ej*dNzad-?o5YQHm*R%$3E#>ie9C_uUp#9yFA9s)XLD1KGu}ghGE_*TG|4_qEGSa zYz4#DJ@BD3M*aS^!(8)fRcjBK%)k)8uku=$<)8HhGPJRz9em}B>p z;A`(Y^|8Q-Xk9^|yv#c+@SCM2Qk~f#F5t-1E`rm#h3g*NUNj_rSW^|ArrF7ha-fu8 zL`}iR^t z<0a7Ar#JV-S0q=y<^af!CFGt&mY@Pg57 zx{3%w3xj=xmi&1}Y?~tt5d%&BA%E<*9qPsNUuUS2vu@MCE+no7kJpE0ns7hj={%hWR|xrwwp z5#TrLqgTx-tcdzfJ~Y*Z7U*MZO*sIKBCeJ8AXo`PvE-_HD8>doMRRU>C-O98dBG3g zQL9AWPMtdMih1tcxP{ZQ+AISh3x>JBRam#&&N|5cR;8XbB`c52 z9=WFd)G0xQ%tFE7K{r;PmhCuN$Bff~1xN)p6FLW=TSaXhHLtiB(a>&rwe8sR(;P)I zjYz@VM^8aB9gOadT31ZX`88hAwa-RF;$Ne4VhKsfVH6D`>^L$WWTK8cnG4sBkJYG@sO7 z&d#hrrCmw%o0 z-yf@mU^Mz%b9cDTKkFS2d{JEp){34YCaI7wZ^f8yaD~m0<(xTzg#Wb@r+741)#&zb zccQjuFF3R4KSU<*jPzVm{KAbGuYj^XJ_`Jc0sBmGcNm@K9!Ts##BWW&D;qX5LK|i# zQ(;24E*hz^z7zN;XrHf7MfmqmBghl(@1m3y{&3z+@q3SHmRb38T(E;k))`s5OF?P^ zX0>6ST1`&E$=-%kXNmIymutgpO!XGdy*Ooa$2JD!(NGZY#AmON(0rH{7pRlKJf3>w zj^p<>X{mgbDedr=piq*v>u5-4RBbPpJFXB8?8v2I?*m0cXG8)nD}|zuVxa+2zv-V{ zbY~)_Y$eQ z{b9s>@Mi;agXyHYS&w+Q`O{-_XG21IZ{|K$Jh&^wNk(C$Up!;~D@NWQXk|9r zb`b$Pq}5n>*$or+$6K2>vcegM&BR3ZtE??twYf~O_yfVLUl2G$5Wee`$L_<_no7`Q z|6nt)6H|Ke#SMtv+C%|j_1pVLc%K~n<-Gq+ZQer_zVfUDYwE`31m!$;JRRJ5^VbKA zaU+YFk_J15r&z0Pe@y<5c*}&d22YTli>=c8#6xEbR|ZK}SCdC`NS`-p$CeD_+T$cE zFlzM4_~*b1RITr&bRXhXUhY0Bv8%a}a;NxsW;8o(vvYH?UYtK>>itE7I}4Ez9c@7X zVL%&&p+=`5y-KP}YA76DIivq`i&L|cN^^C0O!pB!(j*6>=fNb~?VzaJh3w}ct<$j| zmE-^6D;S&Ev08L+?pHN~2FvVd`YTVVG||-yJk?gyEBYIJ zxXRUQ@%7!?Qic1ucBtIW$DGCr-(o@Jz`S&MjaY*Qi>BfliW$gf))e7^l2TrldW}Ah zf})@X^T~fb{%#PRapw;ICZVhBap~tVKcc_V&jy>O;@bJL)KwDFKezEU=a7n=D$1(;}%ek8rekU;+3INEY{+7#k_kJQpb5nL2$+TlS^^+ zMC4l>tKV#=#gStYhHYafF@aZ3(D|61&Bvz!EU}+QNZ0+h$tdC(DKJ@OU(iCK=II&J z$9JIdV3IFQ%Qe>^%1~l{uAbU#lzc*Q;@ye=F_E$XG_BjYD3I)1mmH>UCx03-$L0}2 zjubG6XDp(mROF}@6yO!N_2JLSJ*nWl9%qkfV_5fnM=%bZKvUJDI>uTNw9|#1{-u+W z22XtdREcae1%6(FHU_@yhM7@TB8%_WFp0~#&)*t^P&)EHpGRQj{X@iR^n|_mWlCM~ zO-kL-gMMj}28D8eSa&_X#PR*BAY~f9%GXjnwA0@vvD07T_@Wx%KdV3d7a;|~Lt-C- z=5lmWhn>hOMaOr9QB=$Y6jk@!kSCzX+J6n&7>5+egmKTs3dh(-ny zeQ5*}SA6v(Zl=*5xf*8S_x46#ZAMQWYFuOfWBI7-_anh^enQ?xjG*N@d3WI_aRzA< zYf7p12VJGozG&;%hpI?tq*N~GE0Lpbefc+!r5dq{&jvlN9L9j+jp?z~S+l|G^-PlO zKG*vX&ua6Z{CtzPLoi*IvdswWyCmPq`1*Xntt5=_KC*U6P_;AFRNH_EFRaNmv$WP- zD1hLFT&oAESSbGIw}FE4J0nFBZ3ytyZ!z(b`9E4p#4>q8ot0Jx`%+_dDji9ISQS2F zpXZ*zPB+%gU?hZ1P>l+|^@CzI-NLm?laRWPx15p{UJ$r)#kEVlHMLs@3S{M=;Z%v3 zFO=fo3Q7|%v3OF4?b(s}^hF(_Psfi?RfdEPT4pfT~S4z3;$$aS%5Aaq^%FM;p{%cier zMat4E1cSF-qv}i|gY*Mw4P$--qn>(J*sXhT0M?}21}F~nn<_jvTuAY~4`xq90!wEu zr>F|WMrFFI4tg6$jrn;y^p|O};ok7Cdy71BQ3a?V7z5TJYbD~a{QKhF{&*2IbfD(v zi=rK4@IxAwT{8&k{JEQ#oMt_*wiJpyR^(dVTcEzIX3ppY6?Hpy~v1C$J5IxXK*L@*3zj{8S!WHhlN}ViVtE^O~?oc{~E<*5~pgM=#)b`Y3 zY!MpDvufr4khap~QPYDUTr)wp@cTDRXg+xUP)y-#gESN~ysSa>(fWCjKb6WU`qVuj z^I|t972$>Bs-T36jYc;KKpvF!T-|WbYv}Yh|7(W!x5V|sn=6p%z8GalEYgOK6cMti zzwT;ALc|k{w?dMsC*+jK@a4IA{gM@%>WV=>hb(3Wd>OV=NvticqgGPZ31bT%lKouH za$UPg1-mQayLxI!Yw7+)3?7K>dFq83VQ(EofR(WORAn>_ig_4ZZRw2hA8D(ong0aS zngb=gy*i0!#2Hq`9!;f!Nl)Dy)2KSTy@|d1x`QYi=kxj(P|3{Y*S6uwJ)4;iG#HZu zUEB2)`+{yRoHdyLF)<{6E-8m}_R{{Up$Tu$z=K#v^03|Nexq`^X}rI=Iys9;g7BL2 zQ=ZWjq=2Cx7OMtSXRd2XYm=@Uq;=Z_pF76vKL%@3oRukZ#`k0u$(}z&ttV77W4tlf z0GTe=E_Ga^EmbAoJ!)gx{)%i)LKIirX9-xLpmb?42bPt-Fqb!zmf>q-3P(|kxcmb4 zrLx6cp$~>fGCBIW$>`>hboKydEKHdHV%l7bV4;@1m@6mJMt;{TqN0_Wq+B>>8eYQ> zL8cF6^#;kE>s-g%y0YuORD8BU-}U`usQQIY|1h@jO8aTpg5}%F_#AB@G{3Mnm`@)G zoarug-7Xtu`1Ng`k$M#W1P|stdq?jkr!I>GPk)tD0I*)THNnDU%qg>Gd)~X-SKTZH z4$CkwAD2$s81P<#V#g9!Q_JHwBbR@CWaff3FY*Fkp}*zcyb{d(phCmXwCgLbQqb<) zkWdP%uxg%l-mPg?CTH$T_k{4Ckq(6ajW12LJziChSW77bq_XOY4wB>2%F%(YjnIlb z=%kQs0@9+B!Q!*1W2!Itt{pD=W)S?bYUuzCiHD99J1u|;khWL+ek~2I8ENwR(FkK zgGK`^3VK6{L*rd%o~xgp=HQKsMXjFccTHGS_A5b1)X`yo|B=nBQjcN*54{|U6@BqN zo$hjBD%jrvgJNh+V|RU#!vqs=U$i@gqF6VT$l6Ss{m9^bYVR`{FE9@rBH9wlkB{8e zy~$H-@H`81l!kxB9ip{0J7A>xaObzDIKd5MtG?X$T0+|&9=X)}6Iy_TTo^=aQmR~b z0?{=jiUG-+mO@R=GbLtq43yD7mlTR@hM=i{Cwg{WMDi7zwOu>PizLE;JpbsyDc1g$ z{G$5OpqPz`QN%)_3vqci)z#9iDBhAmANibdX85h&*biCnosA8pqKDxkNtH|bnw&Ry zilRxUSyyY6GQ0A6A!qFpeJB?H^*K~%ru8~EAaE&8blSou zZ_hR@vuHbncT_X5Yf6&^I~-s%l@(sg$18 zqT;^L$)6u-jLB?l^&rZS5-%<4)(&mJNRyM^gUMJgcUS2k@(9ZMsk`}(KWjriIFiV_ zn|nPD_UaG81=5UPOAJP$p_PvF`GS!(q?Zdk4Rzb8LUNI>4#N{P%$zYh*S5yrl;2pR zpx>5mt7Lsg#8*C0PLOLv5b~S8{n+F*j@%pJm7O$lhwE=n1=Xa|fi-U(`7tzN>pItH62vXxl5k zQ__xXnP=1+yk}`+T>CYuF6&Vpmb$YaYD@u|(HB8MVLf6Q-GcXQ?k6%csCKTwr^ZIE zu@@*pyMr5{gqN=T5@xq| z^K{g&8LCSS$amkW^=Vw$!UP&e0jeWbu!l z>&dV|2kxE^3QmFQ+!@ejRoi(4CPnPs15gR5!-~vBPmV)g=~t`9?vqbKzcR?=miJLR zArBc8^i0u^*hSL|j`bpU)UCYQSi>{BS1O_WD(}zc4Jq^qHO79pjOou*W#1_3oIOs<>PrAqadib`+}43g^7Q!>Dn0gG3&3CYT(R z(eiaaPtaG^WZ-!yhA9z{li1gU9e*k38*ftpCJmwBuz{VY)!SJb6v0Qy>!wglApP|z z-#eELZbUQ6?pgz3(Z%tr!Ih)3`V|ynB;O02{7?x${g#OtWBQ4FZ4s?Kl7Hx|=<+&( zu%NLO>tgj*VML%?V`P4-TWMg|-N}_d;0w~iXvfCi81ha>Y~I?|WAf4z9;`JtUaLT6 zi7xY$Lm5q%UD*MTg+fSBGGq+J4D!C|8aoWKB1O`3-miR-reQS*Bi*-iCSs6=6egeVhPua&QJ8$-ZBi+aQMq4E^=E`v_(25|rH0Z`YXIo%)c`A5;v3~Zw& zXiC0j+{|RIy{Vi}XYIl0QDEqEmpY-f`6^}IBuw;O>uuvVo;c>rB0^8@2lI+sfy|>AMbK^6e3Ww*sG5`rQd$K2u`pE;!9r-;ZVG z@wXs|8SBMOM)~2gC0Zj8xH4m$mY#Fwbc8oHlWP*-cs6_Vg1dx4!{t9>{zQ4a?|`RN zBIoYhI4;WmMH|y`U3RxesG-qRYxj z)n9UyNkBn$xhE^c5YLoPPz3ERB7%Wp#m~9I8Or!~2_oQ(3$s^d)MW+?py25gXwadb z6=FZQ%kY|xY2|&J&kZ@QykRb9Jg#T$S0W?t{blg=d5(tKb<0*?=RCf#$g|6SG>1;` z+-V*gf#hsqb1w*h1grt-6xt>~Zzp|%QckWLOh-|j91ZnM#vMZvQ0K`$H0@$UM(Zd$ zC>U5Ge7}~+ry&H*Ry+H?oxb9*1$1fmi?G(@`fu?>qfcBo-&bcX+YdC11u1`48FYNzPySum9@jxYt?idn#s+|7KQ&AN?&K$3P!)ybhLT7_x<84 z=}~XPlsm9&!Inr%w~-!D^tYG}!JWs+R+ido4ZY3d;(A6^Vke?TpYSN>q7X{~==$#m zbXJ?UG$+0ILPY&3!>X`%!!JV)dvU18T!Ct3KU+;bej>?fNAp(TVo6b2`7It*YB;Bn zOVfjiMZUh<-=*_JsHnlH*=hC@6_<16!P6(ero39j5YJ{lQuyVx49jVl z`5DE@Zi&9{HI!)y^^wqOoyrDECCU7+MxnZ5<9qwCr_!{yYx>g%iUQ){c;me#f=#1? z-up`1_7}CH-#%~*zF@@($%4%11DrA?;M zyw!xapwd+9TaHmdqIy)Pzy3Fr$$V0EV6_9Y+%gXK_SXgiFv9>a;{{XHEsdF>PKZOz zt_B(6>Uhs7|Lhv-@|dTfyYEvp)QJY!k}q#e$vdvKMvN@$FPzQi&!=C0r$N^5lb2xs ze4@98Bl^N#2jTWib}~Xyj-BNx_!Jw5)aLI9_`$A#zH_hac-r=n zS0>6$;$W!%A}&(9j|R?8j#0lMVo@#+a_5v}Z8>;08=L)~-m&R%!tKDm6$|7XYeNVZ zHLgB1{Tm9kHQN|U3qtMEn4%Jd093BBoKwInqtA|yqzNxks_o?^{hyni8lB3lbANzj z)8__Jxhl)LuWdk^ZVs4u5CARzf=92gNlGMp$&|7ysFwnR5a4(y;dt?J+JV-7*?5>L%Uz@3wUcp6G&E7cFFaOs>^CbFeG20rYEA{k3C;TO{CHUArrT!JW`Vwn;FEb=T^_ta{GYgCgw!M^Mu3`i z4XdO?dcOw>q|eraokzm(s_-)nb^XU70vH+@{m;O`b1wg1IP~he$}y1D{pN^} z`$k^3lO*#u{sp>#iVH^fAIA+~;6eRPpNB^!4nIs5r_i}J&PgX~B z3sB2``Hw1Yn*Hl>;s5aXJXs%j zy7^q(pR@Pxa=aez!Y)kM%YQZMw|~@;GHM+?cW5(UQdSsz@@mAHzm$uZ2N11T#2@vM z-p2pU=m6G*pyecM400 zQ0U@xvM_5h)`fVcVY}3#n}QauYdMJ%^-C#%*1xS>xM^-_x2QgoGoAG@&&raNh}k?N zD|})MQ3j8VV2BKY4TIV6Eu`j_Go-j-V2Fw_B>LxSP?hN^ka=2t?nRHmn-fE(hCt40 z7hX9aZ7GL&c0m04-v)Yz!Pam4mt;IX1_|dab{$eM$NacIr{u7)wSenV&nq$28N+P< zFpm~-y$HeXjtE{H82otN+IBCbRiH_5zPf9{hV4a#d_Mvie9(ky|B$Tex857Qvr!z4 zq&E1VZVdukuM~)o#!@-12#YCMC~{q#iWkEq<|RlCgx8P;$c zTy&#Shk(ZL<7t?kup)W;;BDM`-{e2;O-3-Do_lnaw%rHrnMz#Nd+9-Dq>YUNe%Yz zsNb}2aQl#0pw8Ydch{@kwC9H;-YZ}-oy`3xs3Nze3IaVVX!BdDp`1a-wT6`!ksGtw zE&xqa`gt|tx4%~iOy;g0MHsnV@|o3PGw+bnP3!V@WNuCpjz_r`c}k&=KX2j%(}8+~ z6iO|}O>^aP!&0g%P(_e~VEl($hUW78r4G`NizO~-@-}Yhe4aABL!NNSXVeqdr4Rzw z@f10uO7xz1xS63j+b<8C&Uj#p-SzOU$p~j{0Yo=$#t3Ur8-3#(1&jm@~wxY2Bzb8ztF1nN{`N z5BqD^ZVvi=E-X-Ax$H_GYDz7^l{!u*5-P`fRR*g!G+6~8Qhm@`Te;OoD}Udm`<5lv zs*fX7{>At7#N6@D*)?jhT9o!A>ybob)rTY6#}_g^YRfhIC1R_Gs>m4w2GeJOXcF;P zBwfufyp@iE_Feth^gxl_XDGM-S$`y6737CurZF29OShD~JM9)rJA^bwoaH`*Dj&R~ z8BzB0g)fM;!@$L8cxXA*-KOm z)mcoEwt8944f6IBs#X)yXH2$9dC+& zv~8&J&|L-MlsT5j7mt>u^MVy}h6)-gK~0mfR5~)CsbZ;eL*R4K{2dqoN_Q~hNI7i1 zA#t2_br)G(Z13xc;kW16GvGttOvUtT%z5-0X*yOs)(3&X8fOnzDd-quq zfr6UiHQLT{od^1)^-$`@Kp7=Jua6PV6ov3Gf@0KhKmn-Iu~V@Sg{0RqgC-BTs*Ze5 z-Ouj>vTm)MFrDJt6Ji_~{e?_mo ze`P`K!V>_~3*K%TIw~>$9?S=dP+V;YHk6y|tf1m=tk>F?l7onNGaa9gpmYH@m~&*G zNx-aos>?hrI+Y3x7)L@sic;(d%U2Y*)h<_k+6ogT3hx|qJK~z=X;~}-KI2*Jlubb| zVa8v=gpEX9j%$b4d`Cde4aX*UW?$tA-p7}hZksa97O-MJm0|IjwH8iXc z_(J)(_}zBJjdJn4bS9iyDBsFBW2vJ>DgX9nOBE68Ol#y`9^|zqbPW=?V;*8RCtwdR zc7lngg2aYnSybwPp8Tby*;lQL;k>ujQk6sn9D##59`48jvZHlyN5@STj@cV}7T6ZUN~!sLxJeu|S&CeMkM*2E^;{_>awnU)W7( zGKf`bXj|QyxO=4Y?&c9O`_R|`kt_vF%J-#8Zw_>IieA(^DB&ZMlKkS!p*e8@Eh9-9 z0OFJvB5Xua*N{;cI&o5dgLep7}X3SgTsYf-2G{G<7D^zu`wG zoQ5xLuAV(pB{!lFJn(So7kA~io=qBa;2)gq!iRy$Q+{Nhcp0=Ehtv9bvL6vPascS$ zpUHg|SQ*Q1U}ETxz^3xdQ{Lrd4wwFNDu$Y}cOOaNYDCaqhqqUzPGM^l*1M22yY=^@ z=u_8Y&n_+3NJn3}(2}`3WeotPL%a)-onWmJyHAD^6g0x6^MV#d;GVqhlW&qtA1))Q zlE#F?*LkHEu4uQatIk@z61{CC+_5D}*2RNgPnIl^jQD{fC44Bu=NL2%LR%6`UDV$l z+-uFsuqz%yNEmIy7SuzGd9`@+*9;@T#VO<;=1?)|{zmRR;?EOk(ybI|r}rju3eG=M z1X?rLwz?L)8B#(pp0W0K#2A!_pOCWFKAx|P$wO=O8auS;8UPc`wwS=LZw1V)rsrQZZO`RZ1p^S17WA?88G#^@N(HE2E?RUc8eHl4Dc>^C8B-%} z$27P0q?u~k;fc^Zb@J%DH+{#bPWfqa)wb8^V{jc}Riu#kb*$9iyYup^zDYEZ_E?2u zj8A(oUErSZ13kRo~X^qUSKj{5RNE9|ag%uF<3?t=L_W$Sw? z!!~>$W8~|5P+cn=&5_$sqm*uU93oy!v~qP$A&V(DzjQV|j8iDk>M>^S#$h7hG2|yM zDGj6Hm9^Zrs+g)V8CA08RGap+Zb;g0UWQkuO5oORnbe`Yk2Ax0E*DEeKgU+>>-~I6 ze&)x+F8^~F*C?!LGC_h0eR&B)UW9u6n4E4>=A(1FTtqm{m9TfH1bTxpBF4q#`9vC( zQ_M$-|62R@F~jQh!)sN8R)f>`gV$bxKBqkB10~szHlzp{>)f!OS9(15trXUP#h7c9 zqWbizYG4>}PT1RL^WZSe7^)(L%m^%~S-#{t@Tem->l)$cU4X8t5L?z#*gXhS%@R1Y zTN8q>r#%8Or-~4H=>>wp2-hMkX``UbMs>J3HF&4vL-r!3uG9a-rRju0rO6$WN}Cx) zU=5i5eNu1@d(w}HH@Pgw5MvKv(nJlCq*X$gK({m(e>qTk?meU6XooK91iwsGetTwL zq=K%Q(d}S`xZ8Il_!%p(URPtJ9)(p&v_!hyIf{FW4#)1`@nxo0L&61~hfPm%$~AF< z6$i@gtU8lb$U)anW(qa?t#(}2yvpq&T|l0h=5GL&0*EJ@sztXKxXPoRd4iU6xL3IA z+84|r=0f@SOWQ%Kv3;pI??OEVG_*;$TL9*c0uu$6&8%r}3fPHRKx#4O^+EJ7nZx#&JQ|_nliIIiH?_uEbOYKaEpe6z0(Yi8O!|Ut;98ubZVKv4G??s^KHV934%THLIOnF(*71SF4%3IZ1ggc9-n*|z&t&_| zaXV!$MTtlylAh>3eFX_*_G$;g=us*7U5;D^c0!fMEPk z8pjuJbm@TB0=Mj4vA_=nOvg;Vc#;d-R+4zLSQB8sN5v~q?gyZL5yV6$(Ao!9dWBWA z)!0n?wdJW(BFTUs7i12~V`gDZ2HcHL%b@wvDq-O_6xl%Y$^f5sj^O9pzq)~`5)xF~ z)T71cCpGlYU7cXwu(i*JSWyX5+A?=s6sY5e_LH4N>(d;Pe1u`yLs*x5$qoCZIx5j| zz1OA-Q%CSxJ$9Ar?+x}`;jMLDh$OULu`n_$>+D7od&3YGtY|$x)V#t1$d57Xz;WBW|6}<!Z_<7OY^WG)2Wo%Mo7%!M<^ddidcG@f(+zTb-ET{(Y@YFQ#r0Kv4=G#>IYodq=G= zgX4RiT{NvVtv2SVXw7`Ypp{FL$AquZd0E_qj>=nl*4~?fN0ZA_739v#B(UzDHd1rZ z*hNCNhLcA%S9W*2)_*V4LDtvLBctST6B2{-S^|L`L=xN;mu zTwsw*o`fDbbNcTXTrGMJrL!vXy8IZ-Kv>YJPC888sX+wAC~AI#$QqYBrqvt09d`5O z6G>}J62boB{Id2beQJ;d^_AZ^aCQp7rcVd@n-^d;SP44k!X~_~KRJPY)*O86Q`KvT zj%;F%wbaYP(Z}(;o$s#jI{d3Ch)ewM{n00Y@PrCj$G`Os$T%&kT?Pgk5Pv--DVl19 z+=%T=fsoRXHsLsadGXL^f8&{DNrMaGeR*mC{LR>2sm4^jc25Ez5YS~3C3yVR_=RLE zx)~^7CHf)p8*oYc(!ZGt0HK=^%0i+KqFec?OaE$NRYtvlI_An_Y<*I@@ed$Y85M#8 z@{*xP#Q$EEO9pZMyv_gBEI0>_$2wnPjM}7%U+Ze0=WON%xUSLP(G>YFu=J}#80ch# zPS;V_!s9TilQFES>Z~JIef~l;{~ayo?nWav?z!foD8is`zjL-m13VP;m#h9A<2oxX z6E{b_2aFV3{DIa`dXz9Q0Q3LA<_ZEA6!ExObnmGN@}4UHyPdy!|f_^Y6g#*X4u%@AK#Xn}qfMtubdIF)l%> z9_fH4B%;CA{}XdBLW+aM4esaw#aN&h_WzzeKs5Wc)-&8^M6+4 zuNLZwSHVg$1z)^@7V0C>{{d8&P)b@0P;RA}oo6B!`OFWBUzhk#tEyxmbta<>*!%*G z*Aoj{U2a|c7F1_2glv3rOC84x)HnaGJs#zC8 z%&BilONEdZxN|A!xy_q1v>n}CnHPcLu(UrD3~)Cf(q}cAvE?qDzjq(U(D~d{T+x@2 z5&9>hm`Rf036Wr23!TE52{otx><}9kzZO2?x{T=bs3K-QSqOUEoYz)*;}Nv1&~=HS zwZ54n7lkE=@s`J%svFlaz{E6cWv~WoEeH8A+=eMREbm-;KDRXTVokx$j00Gz!zXw8 z{zHOX`DS0mV3pREm+VQFq=&S@*uAAXAz{GO!V&kXV*DF%`Nw3U0siASp5fxzB7Yt2 zNd$;M#)YEqC;G;D>t{U!#9-BV^fG_Xj@<{nI`z4Oa+2FL~i!;-BhLTJn$pgFS z`}4M6t)NqWivzi(!#Ae~L1uLl{h~KiOZdm0n)aE*)yiOi8?NX3%xxZm?61R-JH8`D zb!!XET^7)piQLSxcqu-Q7}gW30WMJ+5R-o-+tfbL*-aTRzz<&GL^^Qr2FbFPO@ytR zg>s^pq96hVb&{uDwO!dJ*Auj(%@=&cIo62qyZhB7{Q8WM-W0p4;`5R^?U1R{ma3ex zht876Jn@nhYhEboT$xwyK9GpVC>*Wk_NL@fu1dDjgXZcTWtg^DDwNLWOBP5LYFfC> z91Wd~`*-C4Y_cTJDy2Ui`J=F+R!0=!cE?;-zy>Htz$2IZD;7Lz?=1oSEXdgdPD6?~ z0YZjf8`iZW&39VX0Byzg`6%LE-n)3f$vU-PYinf2ueWmARcoR?X5lTEOr-A4#~6oKuIQYAeC49izC7K z*ChggY8Q^lTQ~v?(V;`0+MZ;og3GFwdV+*QJAh~<2~*H4FL@(L3u($;1~_H3@&0MGrdFnfJ>wPcrbA* z(UW-M>cKdl;uH*q1aoKQDH{8F4UdBv`daCgL{cZUO) zSar@2Oi`Fl8^~JNtmnT)8M!+Eda`tz52~6JmFPIEMmeql{BFmOcIlL-_H}au!OqEL z#y4@IEHS&845+vU{f)Ta2XcXvbXq{)BbI>_`n_W*l86dc$=g}bk%R9@yy&L{S9kEp~>#L!dlK%&yJw!Zt+8&5wjOP?`hg^I@j`&KR-adM6m+!}3BW2&)jn z(U6H$rS%utM+4DB1h>(MdsIg%2RQ0*2@3bUBdL2Gl52s?j>?X9<)_&4w)w!VwKe5k zJ7$Dc$lStJ1^iT}2BX;Njk(=h`yq}cpJHv49#nfIW;fH<%gs7v^asx>u zA^J6wes1adU6Vie%fDjMd?!N8x4ovKw#ihpOx3i#46jm)fqhP~X z%(L%dMPMH!!kYyFex#>n9BVpgUqT9C>i$46F^fs;&r6)aW-nej1}#NbeMuhMwqeC` zv+o&(k8^y*V!OOB-3?nh75_(d-yPLt_O&|>3KkF%lqN8WQj{Jb)S%KtDIzwcNeAh@ z1rTWh0R*Ik7AaDcA~n=RqzMENLT{l+C;=jb7DC{@%3%`JTMz z?7dHW_OqXNKCt2-uWEj&n14RsA@q^mR^@{gw~iT*?_+4rDk0I2S?&KOJ;u68aJ&<7tjy>ewBZ*W zO7pZq;Ut!L4t%a+2~GQL@a;2rMR_(>>`pv#{wS{yvuT_+saEaz+*4!cHP3x6eo-YQ z1a7K^4b3(B<(6E>L{kF>xj6XCp~UbiKyIx$PXm+2IVPvB^OnNHnSGp@Kyqu|bK?xs zhyL~RI*`NVv5nl9VzK1RfIR*2DnL<0_QyzIB`6knWwF=T$0Q>4a}>`2-pO~mHq~X) z2N$efy)KJiXE@O~X?h@Cw~p?;O1KG7OrrzP_FLhKtC1f|^$4SFmng>8zT^c1?{&{E zHySZt&s#g--vHj@`zMCQ)re*mw&kQ}0f}QMoFz_q<9olHao}X?8PQ676P;0- z8paEr>4X6jO#B?|wkL-tS&AyOC!s)kQ|hSBt5?YY$lvu?v@7EB5o<#`i#dN{t{;o7 zx*d>%-8ocuHncy$)lekGs!_Tr&Y*qKJpLrp|KD~ z`*_l%Rlkz`Rg$o;)Gs$V){Zo%2O46j#tLt1ND#W{mD*MrYz*DS=6Uh1?@Gj);e#q4 z0FPk~a{#1stPr~aK%s@!WNw0vKEYOLuAfsa(%9;O7`M+>#j|?Sfrq;AP+Xu={p5y$ zBRcKylG=wHCiMm~-#qVxXi*xszwese_}gOU1g#jKOXk(G__7-%Wsa*rB7u`v=fJO_ zfpzIdQLv#Go>6XX;Mv_+@LW90hwaIjZq2v`GK6elcUIxsmJqO3eQa)d0B)uqs;trn zbqP6UPOU5MxI4h}`DItgQ&6{^J=~fPtObfq>#=i10X1Cg`%ede5(1~~Po_QI6;ptk z)AZ70roDt+8)vTr|NLf*UJoI|%d>HN-ERj^8GJIifBTGn#n3Zb`9kt6-s$T(*N9|^ z=sspy9NSJx8jRq-t(mc8rH2l9!>oN)rY*w<-T0>$F13)SAKV49G#7SN-@v|;A>T8aki&nC?I8A$WDnr^m;YoAS zlBEAq6mp?0f0!Pg6{UVYmebx4}wzv{6WMrrr~ zU}%kF@+)N~<FwXqGYR3#H?+w9Hj^udQDXTDNK*%oT6&I7H*s(iY`B!hlB5uj`mUk@&5SP!#; zJHf6Oas_^sG{3K{EiF!!29_E?5oyM$ZLp6ogzkZI@Z`x{?3**Fz`WRKPShLDQ}4nv zOu5bPn3z%}aI>t}ez_1_k$QpBAim2W`ft@y3c+@a><8=b%wLcI4!>)9#|1{L5RfzI zD%nVT#^|MR`xK*A4A}maC*#e2w_choQxWfiObOg;NjBfXxs8sz^s$nP^`xpJqI6-n z4g!|GL8N4skFQk|zbc(}#}qCMI|__AZhMWow7oyzMHxgC3O=w$iC1naBy>?nt$Rk! zvYT}i1FXAq6Y47IxpUK9)T}EtPFyxJ|5!Y+!D&CeksnAgu(NVwwB*O9v0N|~{q)lB zH;E}eQDDhbY-JJQPjdjWkIjlr$3-SB!nr0qPsjC4F~Ac(~|Nkdh2yfp!Km zHyg5IYp5A^FQgtuVCQkLIMc4zRz<)-L9U&NO%3N1|FH`LIe;8}Yecr~=qMM!=lkuQ_=>bVF=HSrx_SbYMA0gdB0ZVd zeqO8&A7JD*qaWW;_h&<=ZDlwQS!xJ9Y=e@F`7+%%Jm<0~;g6_1q$LcrVs%0wB+x%$ z-<8|2@lX~VPftk~A7*C?je9)Hc}`;k*j3rmuEe?CIxF4y1+@}*=w^8YE~CW@H`Rcg zuYbB@+c;$D>Jx1PlLHM;%q2INR6Cb-_l?pTIbWps=Z1q#J=O$c7vEfVu4@2YowDYZ zmodCqY2p&<=ikn?CCQ4R+@jNWYdYar-z(qSnxCJ!yO2p3D?7-EDaU_mURJ);ALfwF zk029Dk@)R#?CP7;99{6#H+oX^srSQ_3v;fhAa2VI6uW;&3JlHwEDBy2u#kh{-YK6c z2-QMkZYaDg^NMJ*H|XJ&vg)2L>D~n$jHH0*T$UzAy70yd-4Df;6jyo~E2@BApbo$i z@tt80PuG3Owx#;dYw#6-@x8Ch)~_lyk_#8AUAZgOT;F@SJ=$Im$YysXZH`HlNY~D| z9rzx^> zBt4^&ao~XgsN-~^ON~|ntvJW}C?k*6=ojFtghS7?I0qozmEx!-X=#Q5H*zug+V&_5op)R~xP@4%Gf&Dm6vppq!TvD&sFti!o zR&|+fJa~qmm_`RuXS2>5E%~A7Vm{3vt2j_;&c00wyCv`Y%|xn%%l2xEg*#iAQEm~4 zEB`&Z*&8@QBp}O_S<&-@-RvhI*ND)F1PdajpX)3BQ?Mrn?&-peq54_Qc=4__C)U3Bil`1&XB;J=foZVVj51r$21Hb%~nUU$bR4+XSd3u9<#k@uh%!CH?M;sKoxt3m!mL4XLG# zpJ27S*Lh8lr9HsR^=cuq&>Dt3mmR9{3+Hz^ZOk9t{DLuUqdjyM?JlTM_99R-@4)TT zRVkC^FzVYB2X?2+DjL7|A!#qqlS0a>f^N~o$X+W<$OWn<0i}%BdL=ogT`cJL=DIlJSl_nFIeKePD%gt`EZ_Q^hn zU%UCst0ksxzjpk|GX52|R!N9kzj)g{?U%d!-%=l`up@Jg|8na6Tf3vrA`|@Q&;Bc_ z_&)`Z|6gFL0Lu4&hgvQejOlGF){Dp^|2|((sXx z%isH4glNanYZ(83ea-94g$~WG)=>00ppX|U1L(Viu{$+b&Y4{f5m5f?O8x5~vlsLM zrBnD2>_#d*!CHPKQ(^=I4ZLy0cRu@X=6d~N*CP)Jayb7)^3+h*-e^quQ@4eTBigCs z&qd`|j}*k{gBp`;>ua*jp7IbZsX4c|wJJSmATuG2*Fx1!_J#kQroE=0z^6queQ{8$ z_OR=Rrl{rEjq9bShnn}o)aNZfNs)w)Iz{`homz$~VD;cAZTdx%(NazvYolxAb(z~GqSv=B%E20C3DECy{-%Kc5)0Wr zu(YK$O>1io#Sfg1UMnlio=5Y4iXbNer17_Z6UvhIS9emW^hDG z{|Nvxo5V}m_7Cvnjg^@^_st#Z^TO#@tknU+Bk@uuff+;KD@o=)v*$!hN*}QOSZ_bn z23q(1O#ipN0HT&hTLMQ_RywfhzG(2YqUHP$bX)%!4sO%yDx{NMgJM78vAf^;%hzQ_ z+ND-W` zR^g0@9p1Q@mP*&=J zCv}wq@@9haI=fgqH!aIm+OcZzq)wAS3qx2}!ehX$2O9YL!=>K9YOC$hVjs$Cr3lMb zWsbk$&OMDIGyNn^0(i-4yzPo6f?sM#!EwUV1m2r0j@yJVVk%2rXb;nJLqWI}1O&?p zsP5wZ(76MtXGnFt@u@NS-=J=DVpp(FG;V06`W_AxkWmB?yDgm+itR*KM)lB?MTbpyH9#~IQXCw?ftuV;b0Qn=1dQGr=CWN(X z+j3-mpZpvJ?v_-`#(Sq$v-O>jzIOVy1 zEp5y~az~|ee|DJ^-K+9cb&6Vdl{n=BI4n)eP^gs}Q!rxd57 ztT}pXQo1<2lwI;%3Wev`tUH^R3N#Z^_M)Tsw7LN;7N8EkG+BJF6$Yvs-aL(EhI9$7 zH8n6ooacv45R*?u@%^kv+$S%b$9$#Ye-VFsH~u94o)MZhCZUN;v0D>vJwU;7Fr9(h z*5Hr=31;BfBTK+j;?#=(cJr{~)?h}KwNZ1JK9Gz*y6xI|HJunGTbm{?KzCPbwUObbKbNkw;<6^fO0p-;7;?tMzVr-fwG; zXB%LBRj$^(bE*xXr^;Z-ZHS(Ckk*kA=hQOP8fBpXb@>I}i;OQhu2Qn=)i&nmv09wpDY4`)`l%xp!2 z>qcUgrlz2Jy@XYy7iqJm-IpM2jao=)P6c#k2y*Kx!=%O@IS&%R({)Ty7?PrHmaH|= z6~i6ntiSdu;oc8@Ge8kahAw%f`}ucV1DVl(r+@ndLCBe9Fm#!0YJg1-_MO(wYh$9-T zNdNsgHN|!8cev+SJXNx|u(T9JQjB$35}#2?vySF`G{4qB4J6g6Z}=cmvo-WUf12lo z8NjnMUJ0TpmR*&6va^a5nWu5{>ya&alC}p31m$^S#52VC0(TR1CM2@R0EK#=?KK7| znxDKk7pphNl|}^WeO-p1^2*bK9h^|;y-olgbjL%pBMeJr=evaTbmT85hE2ISa-{4u z?f@zRT|EkofRIQFr9hM*8t6idJDjVVD)Ha;xlzvqZ3e3Be!_HZNvYM6B|Gqr{Aj~- zRe&n2lFfu)MxP96O$sBUx3B*VfQvQ5@s{AUw(cD(_}ae8s;d z_Ip2^oHx8LN+!hc`J$Fgt;Ysybj>7f_pbf9G1-^_^w9mL3z)SK<~lkNVC{Sble4vW%=JOR#2Vo^e~ z^fGOn*zP)IQsYAAs1}uNtE`CFIP4IZPSSeT`ONP9k+1!wT3J>PkKCN$HFa;)i%4A| z=?@rnhMc1&{&nCszo)gsfsF38*sFK3lI6|%fNV^ZE2?>EK{Hr${VV_Xy3!2v8V0J9WZS!6g%}z7q4p|VrUPW{*O7Q=P(PF^ zDdqHmi*h25?=jG=vs>?O^*jWj2ObPzKsug!e&JokZM*#jih~awTbMRJi7%WHSsW8Z z)o^MB$En=WzwBv`(s(o@r8tISt-Aw2V9YPqt>DQffFhLdxW?sC2XL~9wsr-PiQkFK zyrXx7~)*U5U=W}44xl!Zbgzeyu1-O6mqt+lsR`JU!hd&vy zBmG$WHum{z602_qJRMLzVsV@C-rvtFQLkfHnxOV5c&0?ja0YZaQw*o6u%aRACDVwo z{p1pO^K~JJ)Oa^fbz?Z7PQ;012ssRM@gYq}zJWB`@TW>r&+7q-$Nxou^sN;1+cgDC zatR7Gv(UQ9&8`^R!Vt|r&winJ_ z!jpFWcN@f~0uT4@2Ll{p*TxQcew_^I{XRC=I`OpcA=tI=2^DU=r7MR>FFt2i7E8{+ ziuzH*wC;>^f3ThkdK1ih^N-^Y5t`#){Ml}Pzx(Q?p{r`hxtMpZY+{D9LEgVzpU!`G z<&P`xTu;6-ct-%DZsHNi6jEt$(%#0%wH=qfS5cP(Ppb;?@(|<+tit1FGhdR6*8^Gu0>Q66 zEm%|^mHrOmVjY-yl3K30;$F6>94nQ?|ElT*N}OMYzK-#>s^d9-gvj=&j@a1KKogQH zgcKd3`+^#H%^bBpeXY|Be^Eg)BE{bD`EwOYH(nwXv!j@OnBbGds)EDOCK;s;*N0fL z?fExA`SKp*Ni76$yD67IX&w z3BChe;_I^M>piB%Q8v{#dhf?g{H^X%ajDD8DBkh|*7$L5Qz3zRg>vqtHvE=j(gnV} zo;#AbLDh8K)!R998Lbnwhe>sH`71k~ccQpq*##e-JkOhZCAWW9FUhnsVc(=5mL>+G z4>$%gsZ*0dg7p^oQ;Ex2jq4KuhThgMe;|Sx1N7=V{aXU8DP%5SED!%~eqGmB*FEV1 zY*{_9COo1LbiUim89%}v7VQ+eJPzQ~lo#n-h=FiFtB|A5rq#6Hys!rJ>#;}w;KIo(x;upJrM4j5PwP& z{Iu-L*SCViyE|)26_(5U(E^d#*{3nU_7iSm+qqG1!N-^P;?8>~yMlgOlx2h^44oZ( z+rNNyi~lk+n-hjf$+rLW(kRK#(?1%0OjY;o-)=a_ z5PyDIl{&(>JGVfk#9Xay(cX=eTaPRX#CA zZ=7G4yKM;pP2Ef8V2AAU+S)4&i>m0dJi7DKTmi|LmX?PMM`KOQjK35u@>l~_o+i~s zsa=54bM2LF5)Ut+e*+w3@UJ6uf9rn9)6f*X8Z8Rm*qu|OJ!>ea9EMqc@_Z)wwRm!+*Mvy7kH_Z(s++y#SxQRK%a{Kbs#>9w(uEi&v@rcGMTfF^eR-;qQ|hk zc>a~)8GuHojIFgU_c(t-AS3@2$c~sdQ0AA63sQR}RQtVD$9;EH@ zM~lBZvcg@xzoy~iZ-UIX%NhT_{-5jW9=3UWw}l1mvJr`t{r(64KDg`PrphMFp#HM( zq|l_W;vN0q-jj$6kcyIQgy}O{g})-^#^T#kmq+OqP&hUqE)o;c*TaGcwzid<6`M%< zPxMzU&p>#fkNt%jRib4?-t~)3|Mc{&e9e;`5Sbln+skZ$4~8sKQw&MRJffpNs&I-t z&=?qKushtoC^c;hdr9|KK%K~txO|l|J+Z?{^I>)~*D?$-s`15T+B@>eaEa*GQEQV$ zYdx0Z!C`R^VBY2|9wDs*I|QWf3eTYpAE$C>dQ%iD`f8&ec*d=Q{$k_nFRd)IpA&vA zvA_EEy0*d7B>k9;CvTsQD8Q<{Y5t6;3n2T(Vnv{+U48qJ+>kD6qRPy)O;4YACI3^N=P) zwY{1%#pEjM{G3^@wBhIC{hik+(Z?Q@aaj0#bhu4mbJ`6WR*fKT?H)shI>OL-F;(e}yP3y8G(r z+)TK~bu=*mZ1{wJCu%gtAN@7tL< z%Bo=$`J;gS&DsCbW20;M_n~HxXO~KD&?2erPr?YNgXY>iAqYdRB!?(QRPlI#Z?p(H zz@`0AG$fay$A5iXGhQo6NL<1S7U$N>Fnr9)-J0qlUK1Y_D zFGj-bYv0G^#7b{;@XzcCJdJe~h+W;^%4o99m+E+Vtn_uyW3@*?vuVUIT3!#2ndJO* zZ<5x2_S-nbp@JdZMd8!14i4uF`~CM!edru@vnJ+~!wHe|bV}dkMCvt@#Sa$(C`+o* zCe`N(g8y`zE99}Upw(o6Sv8v=zO2-in|_%QC6HGyRn+dl^gYw>i!0assI>>rAvsngaK9{W2glf@N**kA=iFo$Ar7O@lAg`2BAXio zbQIrvG*TREO3pVOy6sFR4jmv{-!2JV6tRzo_)mSpO)?4lieFFY%pzLlRIi%u`Y z*I*|3!wK4B8k)*T!x2?=0Si>JzjCwuxfin=+4%9$cPz{s$4HHR-^6$>HN1~`Ng?v% z4uYIe26I*T)h9^a%Fs8tO;%J(=Y2$ z;W=vT0EhCEAq%X>EDh!FmQ$O+Z^ylN0}W-_3<6n&kaZnV`h*SQm&X#JYE^Tv7_W;_ ztY8h|lvC86`1R(y?a*e!weqOAV&stMUX105E&X5};w$T4q=2nHrMPX|uzPMyHg8tV_0v?YFk45#6|N-XO7l~AxU&f9 zWQaMdc(Ct6=N~IMZ#sl6P&!BtkEQrC?|p1CQ`YSkme=fd0?D^(H&Ep5X6*ydq?G94 zZU?1z$tj$%Lmp}L%oW3J!aK2NVvV=W@bckd?P_-(6p<&zOkySLAa%l9aA73iHhn43lm5 z1W)F!4~&45Omj^uspgyAJK;Pp6u*w!@^`06-Ane{l8}JbByBZo2khxNu=U-Xz5TAN z@6K>Z?Rb)m3BJ1eQb@_s&O?AIR=g1`Tf=}Ik=kVayE5z0_QpC{{b+8|a1>~@${h^?` z{mSmZ9aqa$lo0Axt+q?XX% zF_5IPUWj7LiY>!NTJqunD^~&W)XX&jy{}NTIf-^W>J>XP@S(dh2wP;zc1e}*t>C(4 zLS?!M$>-?`R_2kT7nEW16CxV435IPpg50E&i>y~5DkSHo-ywz2&y}f~)9I{Z#_gb}O2X zD&EvEwY`LGzvEDx`UJMA4bLX5PtV23FMEnMyxV%G`*{OUdHyP6+&lq%h5>StJYxO= zqgy@liJ3>ToNfLlyERI*?oP5x1Bx7$rN+CUwk^JV7K9?>>sByG5V@c^_Gk`?U5S}b z(C)WvDKTd!itcg0Q3pQR^Gdt+oLFkT4hy!z7|rNCeV!M|MsD+kN$(I7IoS^mSX=Go zG`q#ss^h#m4mg~mhYx6y14d5Ki)}Rm4$m^Hp$M zEV_mQ8(wS{dlMSxc1eEk!Nd|Ue}m{MC)7CSX}^?zfm<*8wU`7N)q(;Kt`lO7Rn^rj zbvja=z~%k}y0s0KU6PDXCZ4J_(IlCofcUvc; z#A<;3Zi*i4VAjI`&pCdUz`BN;!R+|wS7X!*qQ=!B&rwW}SMX<-)E#noiLbjo=eKd1 zTD54ZCEem8couyI?lf`v=Idy*|6Bj!IE1vC$(;5v5$QEKK_T@!@ze4*0@C2IHY2CT zp2JS(hz4o2iZYpTjZH5WZ2A$G{&+(O{x+4bBMgHheg|1ycXPbx98@8FI7 zjsa`BA|2&Mf`ifv$Pj{%A|%9kRzzG=ZUe{(g)mp*wsG|!Txmmgmw|(&1;YP}YvSE& zu~3|A*Ij~L(iwFW=%WQ7+)q&UX}MXiASw3M?aBAo5zP{sH#9-oP)TF4FJIM#z@5?D z#pIJSueDDt(o1uw!yW*nXybKrgOIZ486cdE;lBCtfDsK~dkC0~Ff<0t&-%d`Y6F|} zg*~2r%)_B9Bo9yq<(}jTlNi3eyV6T-{2u>f_l?exd6AdB%#%P+&opN7j zPE;*Q$*{;}1g&@rsk-}h!)fV`*lm^j)qn@}AD+X{60v<__WZ3WM5rl0gl!P#NEJIA zM+{T1h%~$*Lwui&Q^;E`FTOJ+x%EMO%Vv~TH172O$IgsOcuw)Yr)o8)lElxwI(DT& zO;d90S&K73Cyw!+y9{B&m6=!3?_Ggu&q*!cG(wR*d1qrGAG}^uZJmzMqkz!QSqUg( zrnm#F+R?Adfgw$q!qs2lP9Zw8QX8zIL#}LG?PYUM(TCI@L0v*{;@ucB>R>OizfqpM z&I02VHV7dxV3(Bsctv|6%zH#kYC&l~D=u)Km-U|KYE_*g2j@h&@>KQs3+^vkpC;;& zsn5Q5!*hJZI>oBOxj*oJK8gN(;7nm;6w4NJY|JVG?UwW@!>Z1lia6g6RY%;}Y1Tfs z5ItYfJEXRiV(!k4JXJOYC${tS4$h=G!R|h1XKbFH;ryPJb<;fRkoPsjX8ALa-Z|wzra2DfRj{~YzB?!HhGedIoPz=uqF&rRQ5EO>Kk5|MPS!+S2Honqyo^sKFZ8B;Bw^t#e$yyy(YNw}b)5(Bu%=R^XBvT{TfJ=VGwb zru*i1757^Y?$dp_?V>Ihg|F|omamr35p6D2KsW*DRaZ95O*#zG#%-l0yQD2MEL@95yX(1Rs6Fuht|eBwqH8^nV9 zWr&M3uj;k#Cvb5|aVy?2Z)KXD*?^M#N%lqor+|^yodvniMmrv&+pD3yzcI#@C_UW?r4y&l{c+Xy2Nw%) zp`fD;b_NeBiXQ(Kz{^ObPnwMVC~P$5YM?0_1qIv8ets=I24%BkMXzoLE4*#0&`i0| z+8Vh)1Iqk-bxvwed543qpW*9tjV|Nf6|ad!-ZCCoeDg}qr7!H_8_@^s?ZFB_y^@z2 z3z3tKp}+zFWRpGQD1p1W@F*#Ja#JdKCsfj^iOw(}i}1^Ar;a z$;TsYM)28?_VOr2w|B>GHEhNPUh0X6Y&)KFf$c)%A`g`Ioz4^5*^2+4VTUC{VBN18zQSn-yO4%YrYDv)7lTYK_65I?*F-yJ4VZ+ zigG@W(DHHU;b)|{9aZ+dDuuZJXsJ8FgjLA*seWt1oz_L_25Ukv()1two^SYtFP+?L z@o2FJJsX}0x>s~>97@v?G?(%zu*GWbsg-u8mg-aB3xXfd4y}q$P7mPc5J-bA|C&RZ zDFiz3cK>fU@X^)UXcqQ@m4k~Yq^;;tB`J;iV?VU(gD#Y$)qjF*@T+N+;LP#ZGeml^*D}^U zFP3nJ?39ev1+V81JprJ@u_j!ViST66I>z?TyM01Gjd_gVS!&eD+x@>UpmrVjI=D~1 zU;3)a=g7x0FjsnyQxoL#?bb)jZ|~YycB-0)4F&eVRD1yF#i#+W-re@%b{l~xo?-1f zV^C@Nlb178iBmUPiAb)Lr)IH=kg~SJTL#tj_a6b-kGm%jXS%%%PRm(7ko)0$Ess}4 z<{ooC>(y(=|AZ9b{kln(Ny7UVR#}#B`4@l%L#fiALC?pX4kKV}E=U_Ctw&ils2dkj ziDtkBE9A{eup7>az5rwM&kRG>CtRBX!N8GRX#c6HbY+htkmiH03V`rjwLuZ;b^`R= zDUS<@qoM$+xips3n;*~!k@A=nYqxy>bnNz>?WS5HnD$}onSgn@F6E?KQ+2r^zPd`= z!Bh_wVT%3!)BccCh|XLM@ZO2SWxZRZ#`eY?X;b)H!ITTvj*%vdcRni?i5ttV?$-a_ zYuc*$QRvlFP?KhfE4V7CD8Gh~cmBgR9j$s}Or(C6mRZqh=6OBj6b3bBj z9iOAxpH)|}aS%_>Hjt+D%|BOFu#4`U(HFzje2TP0Wu-bQq9%%6iWxmqcT}FgP2jVf z`^V4EzHOtwx~l7E{a9SW+c^P~>XC$gm7Pvr6ZN$OS5;@3R@pSGUXMsky|7J`>3Y8O zk{tG8c^N&HgZp$rK5%vPvlzeXDH!E=oxJwNdR&CWpigtK z6?O|y*nk9TJWrRu8}W}f0m*|-RWX~bB(<*leR0@gVMGO{a>aafxEx^__&|D^^m(B? z+44!3WM8;&xc*+G@qLf4P-Uqqqf+}zat9ek7ljz;-Ti{rONxnGLAg%v&GMhl;v6?Q^B8C^@lK1)@Cp<3)uO^cZ#I5MbP04hca0?-OQP-5 zC3?2|E$BKVi&P=cK6M%+)Ej*g5*ujkKh?(h%X9&9D)U!UBvYhdNoL0{(U!#8?EY@n zWcpQu9MnsTV1j&{%0_UBWXDTRX>Sd^#L0S3Yz|u)?)pA28qZGnZ)VhTJl>!^5YpUo z43_Q5|7TV~dl&O#)I+AH{-y6znt;QxgzbP1@Nnp&%0B`K$ltgof@X3z?sU1U4+_(vK<_u+fHT&d|&SX$Y1nS|8T{a;Y;qlA)>jk4Wm6GRR1J!5j# zde|?R^ij^sQZ?-v4e(v~!U}{S=)ZNZGyaENn&>?rb|*irKZvhAzl6NGo}CvZ1Y~W2 hpZ-7n`_Qm?h%i8#(SC9={SEl1p{lJ?a{KwK{{{C2k=6hJ literal 17675 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 B`3C?1 diff --git a/L24Services/ACL/images/PolicyEvalMultiPolicy.png b/L24Services/ACL/images/PolicyEvalMultiPolicy.png index 202773aef7f41a618cef9c59c147718d24d52f5c..6772ffe03f64d8685549489cd9fd9377f4a34ada 100644 GIT binary patch literal 30931 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 Gul_%ioX-*f literal 24131 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 Date: Wed, 30 Dec 2020 04:17:44 -0800 Subject: [PATCH 3/9] doc updated --- system/penetration-test-fixes.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/system/penetration-test-fixes.md b/system/penetration-test-fixes.md index b57e22f58420..bb7516d219f2 100644 --- a/system/penetration-test-fixes.md +++ b/system/penetration-test-fixes.md @@ -32,7 +32,7 @@ This document provides information on fixes for some of the security vulnerabili # Scope -This document describes the high-level design on fixes for some of the security vulnerabilities reported by the eBay Red team as part of their SONiC Network OS PenTest report. This document focuses only the following three main cat +This document describes the high-level design on fixes for some of the security vulnerabilities reported by the eBay Red team as part of their SONiC Network OS PenTest report. This document focuses only on the following three main categroies of issues reported. 1. Sudo entry with wildcard expression which allows privilege escalation. 2. Redis database accesss without authentication. @@ -53,8 +53,8 @@ PenTest Report document is available at https://drive.google.com/file/d/1qquV_wx # 1 Feature Overview -This document provides information on fixes for some of the security vulnerabilities reported by the eBay Red team as part of their SONiC Network OS PenTest report. The PenTest report provides detailed information about each vulner -In simple, only the privileged users - "root" and "admin" should have read/write access to everything in the system and other users should have limited access for security reasons. +This document provides information on fixes for some of the security vulnerabilities reported by the eBay Red team as part of their SONiC Network OS PenTest report. The PenTest report provides detailed information about each vulnerability and possible solutions to counter the identified issues. This document can be used as a response from the Enterprise SONiC team to overcome the identified vulnerabilities. These changes are being proposed for the SONiC 3.2.0 release. +In simple, the solution proposes that only the privileged users - "root" and "admin" should have read/write access to everything in the system and other users should have limited access for security reasons. ## 1.1 Requirements @@ -81,7 +81,7 @@ Address the three major vulnerabilities reported in PenTest by ebay. ##### 1. sudo Entry "/usr/bin/docker exec * ps aux" leading to privilege escalation -- The intention for the wildcard character '*' specified in the sudo entry is to allow the "ps aux" command to be executed in all docker containers. However, the wildcard character '*' can be used by a hacker to inject a crafted co +- The intention for the wildcard character '*' specified in the sudo entry is to allow the "ps aux" command to be executed in all docker containers. However, the wildcard character '*' can be used by a hacker to inject a crafted command to get access to the shell inside the container. ##### Command to check the vulnerability @@ -93,7 +93,7 @@ Address the three major vulnerabilities reported in PenTest by ebay. ##### 2. sudo Entry "/usr/bin/vtysh -c show *" can be used to do a configuration write by a non sudoer -- The vtysh command allows a user to execute multiple commands using chained -c command arguments. The wildcard character "*" used in the sudo entry can be used by a hacker to substitute it with configuration commands while using a +- The vtysh command allows a user to execute multiple commands using chained -c command arguments. The wildcard character "*" used in the sudo entry can be used by a hacker to substitute it with configuration commands while using a show command in the beginning to match the sudo entry. The vtysh is not validating user input from a security standpoint and it is expected that the sudo entry take care of it which is being bypassed due to the use of ‘*’. ##### Command to check the vulnerability @@ -114,7 +114,7 @@ Address the three major vulnerabilities reported in PenTest by ebay. - The sudo entry has been modified to specifically allow cat of only syslog and syslog.1 ## 2.2 Local state/config Redis database accessible without authentication -- The local Redis database acts as a centralized location for storing device state and configuration. The Redis server runs inside the database container, and the user is required to execute redis-cli inside the database container +- The local Redis database acts as a centralized location for storing device state and configuration. The Redis server runs inside the database container, and the user is required to execute redis-cli inside the database container to access the Redis database, which requires admin privilege. However, the Redis database also listens locally on TCP6379 without authentication, allowing any user to read/write to the Redis database. ##### Vulnerability check - The Redis server listens on TCP6379 on localhost. The standard redis-cli client binary is uploaded to host OS for accessing Redis database via TCP6379 without authentication. @@ -123,12 +123,12 @@ Address the three major vulnerabilities reported in PenTest by ebay. - Enabled redis db authentication by default to prevent read/write access from local unprivileged users. - Random passwords generated on every system boot up to be stored in a file shared across linux host and all containers with appropriate permissions set. - All Clients(cpp,python,go variants) to pass in the password parameter(read from the file) while accessing the redis db. -- redis-cli client binary internally parses the password from an env variable (REDISCLI_AUTH) set. +- redis-cli client binary internally parses the password from an env variable (REDISCLI_AUTH) set temporarily for that call instance. - Non-sudo users direct read/write access to redis db is prevented but the basic fixed show commands which depend on the redis db are added to sudoers file. ## 2.3 Docker Containers Running in Privileged Mode -- Each service is running inside their own docker container in privileged mode. The privileged mode container doesn't offer security benefit of isolating but have full read/write access to host OS resources, such as file system, al +- Each service is running inside their own docker container in privileged mode. The privileged mode container doesn't offer security benefit of isolating but have full read/write access to host OS resources, such as file system, allowing container escape or elevate privilege on the host OS. The docker socket on the host OS is also exposed inside mgmt-framework container, giving the container full control over all other docker containers and host OS. ##### Check the vulnerability - for c in $(docker ps --format '{{.Names}}'); do printf "$c:"; docker inspect $c --format {{.HostConfig.Privileged}}'; done From 24a388063f970e435ec8d593ce5533d82f7f31de Mon Sep 17 00:00:00 2001 From: Senthil Kumar Guruswamy Date: Mon, 4 Jan 2021 06:02:35 -0800 Subject: [PATCH 4/9] UT updated --- system/penetration-test-fixes.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/system/penetration-test-fixes.md b/system/penetration-test-fixes.md index bb7516d219f2..af62b8d8c4a8 100644 --- a/system/penetration-test-fixes.md +++ b/system/penetration-test-fixes.md @@ -25,6 +25,8 @@ Information on fixes for some of the security vulnerabilities reported by the eB | Rev | Date | Author | Change Description | |:---:|:-----------:|:------------------:|-----------------------------------| | 0.1 | 28/12/2020 | Senthil | Initial version | +| 0.2 | 04/01/2021 | Senthil | UT update | + # About this Manual @@ -135,7 +137,7 @@ Address the three major vulnerabilities reported in PenTest by ebay. ##### Solution -- All the container privilege access should be removed and should run isolated from the host environment, Any container requires specicial access from host should use sys capability feature instead of privilege access. +- All the container privilege access should be removed and should run isolated from the host environment. Any container which requires special access to host should use sys capability feature instead of privilege access. # 3 Unit Test @@ -143,13 +145,19 @@ Address the three major vulnerabilities reported in PenTest by ebay. |SNO| Testcase | Result | |---|------------------------------------------------------------------| ------- | | 1 | Verify the docker exec cmd from non-sudo user | | -| 2 | Verify the the vtysh show command from non-sudo user | | -| 3 | Verify the syslog file asscess from non-sudo user | | -| 4 | Verify the database access without the authentication through a standard redis-cli binary from non-sudo user | | -| 5 | Verify the database access with the authentication enabled through a standard redis-cli binary from non-sudo user | | -| 6 | With database authentication enabled, check for "NOAUTH Authentication required" in syslog | | -| 7 | Verify show commands from non-sudo users with database authentication enabled | | -| 8 | Verify the container isolation with capability support | | +| 2 | Verify the vtysh show command from non-sudo user | | +| 3 | Verify if config cmd are rejected with vtysh -c from non-sudo user | | +| 4 | Verify the syslog file access from non-sudo user | | +| 5 | With database authentication disabled, verify the database access through a standard redis-cli binary from non-sudo user | | +| 6 | With database authentication enabled, verify system is in ready state | | +| 7 | With database authentication enabled, verify the database access through a standard redis-cli binary from non-sudo user | | +| 8 | With database authentication enabled, check "NOAUTH Authentication required" message for go client containers like mgmt-framework, telemetry in syslog | | +| 9 | With database authentication enabled, check "NOAUTH Authentication required" message for c++ client containers like swss in syslog | | +| 10 | With database authentication enabled, check "NOAUTH Authentication required" message for python client containers like teamd, pmon syslog | | +| 11 | With database authentication enabled, check "NOAUTH Authentication required" message for host OS in syslog| | +| 12 | With database authentication enabled, check for "REDISCLI_AUTH" message exposing password in syslog | | +| 13 | With database authentication enabled, verify show command from non-sudo users | | +| 14 | Verify the container isolation with capability support | | From 62592a38a5b97498f40a1902b45643675d482c15 Mon Sep 17 00:00:00 2001 From: santoshdoke Date: Wed, 6 Jan 2021 02:30:24 -0800 Subject: [PATCH 5/9] Add support for L3 subinterfaces --- L3/DHCP_Relay/dhcp_relay_enhancements.md | 63 +++++++++++++++++++----- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/L3/DHCP_Relay/dhcp_relay_enhancements.md b/L3/DHCP_Relay/dhcp_relay_enhancements.md index fec5eae9832f..97b0c7b3b98a 100644 --- a/L3/DHCP_Relay/dhcp_relay_enhancements.md +++ b/L3/DHCP_Relay/dhcp_relay_enhancements.md @@ -1,7 +1,7 @@ # Feature Name DHCP Relay Enhancements. # High Level Design Document -#### Rev 0.5 +#### Rev 0.6 # Table of Contents * [List of Tables](#list-of-tables) @@ -40,6 +40,7 @@ DHCP Relay Enhancements. * [3.1.9 IPv4 unnumbered support](#319-ipv4-unnumbered) * [3.1.10 Handling DHCPv4 packets with relay agent options](#3110-handling-agent-options) * [3.1.11 Server Identifier override sub-option](#3111-server-override) + * [3.1.12 Subinterfaces](#3112-subinterfaces) * [3.2 DB Changes](#32-db-changes) * [3.2.1 CONFIG DB](#321-config-db) * [3.2.2 APP DB](#322-app-db) @@ -81,7 +82,9 @@ DHCP Relay Enhancements. | 0.3 | 2/13/2020 | Abhimanyu Devarapalli | Added link-selection option, source interface selection, max hops, OC-Yang, KLISH CLI. | | 0.4 | 4/29/2020 | Abhimanyu Devarapalli | Added IPv4 unnumbered support, VRF support, options handling. | | 0.5 | 7/23/2020 | Santosh Doke | Updated scaling limit and added server-override suboption. | - +| 0.6 | 12/28/2020 | Santosh Doke | Added support for L3 subinterfaces. | +|| +  # About this Manual This document provides general information about the DHCP Relay Enhancements implemented in SONiC. # Scope @@ -98,15 +101,13 @@ The ISC-DHCP code is integrated in SONiC to provide DHCP Relay functionality. Th | VTEP | VXLAN Tunnel End Point | | SAG | Static Anycast Gateway | | VSS | Virtual Subnet Selection sub-option | - +|| +  # 1 Feature Overview ## 1.1 Requirements ### 1.1.1 Functional Requirements #### 1.1.1.1 New Functional Requirements -1. Support relaying of DHCPv4 packets over IPv4 unnumbered interfaces. -2. Support Virtual subnet selection (VSS) options 151/152 for DHCPv4, and VSS option 68 for DHCPv6, as per RFC 6607. -3. Support relaying of DHCPv4/DHCPv6 packets when client and server are in different VRFs. - +1. Support DHCPv4/DHCPv6 relay over L3 subinterfaces. Unless otherwise specified, all existing DHCPv4/DHCPv6 functional requirements are supported on L3 subinterfaces. #### 1.1.1.2 Existing Functional Requirements 1. Support relaying of IPv4 DHCP packets. @@ -123,12 +124,14 @@ The ISC-DHCP code is integrated in SONiC to provide DHCP Relay functionality. Th 12. Support DHCP clients and DHCP servers in different VRF domains. 13. Support DHCP relay over VxLAN overlay tunnels. 14. Support configuration of maximum number of relay hops. +15. Support relaying of DHCPv4 packets over IPv4 unnumbered interfaces. +16. Support Virtual subnet selection (VSS) options 151/152 for DHCPv4, and VSS option 68 for DHCPv6, as per RFC 6607. +17. Support relaying of DHCPv4/DHCPv6 packets when client and server are in different VRFs. + ### 1.1.2 Configuration and Management Requirements #### 1.1.2.1 New Configuration Requirements -1. Provide configuration option to specify VRF in which the server resides. -2. Provide configuration option to specify forwarding behavior of DHCPv4 packets that already contain relay agent options. -3. All configuration changes must be applied with out restarting the DHCP relay docker. +1. Extend Click/KLISH configuration and show commands to support DHCPv4/DHCPv6 relay on L3 subinterfaces. #### 1.1.2.2 Existing Configuration Requirements 1. Provide configuration and management commands using python Click module based framework. @@ -137,6 +140,9 @@ The ISC-DHCP code is integrated in SONiC to provide DHCP Relay functionality. Th 4. Provide a show command to display the configured relay addresses. 5. Support for OpenConfig YANG model - see [relay-agent.yang](https://github.com/openconfig/public/blob/master/release/models/relay-agent/openconfig-relay-agent.yang) for more details. 6. Support for KLISH CLI commands using management framework. +7. Provide configuration option to specify VRF in which the server resides. +8. Provide configuration option to specify forwarding behavior of DHCPv4 packets that already contain relay agent options. +9. All configuration changes must be applied with out restarting the DHCP relay docker. ### 1.1.3 Scalability Requirements 1. The maximum number of Relay addresses configurable per interface are 4. @@ -237,8 +243,8 @@ The IPv4 DHCP relay process is spawned with the below options supported by ISC-D |-a | Append an agent option field to each request before forwarding it to the server. Agent option fields in responses sent from servers to clients will be stripped before forwarding such responses back to the client. The agent option field contains two IDs: the Circuit ID sub-option and the Remote ID sub-option. The Circuit ID is set to the printable name of the interface on which the client request was received. The Remote ID is set to the MAC address of the interface. | |-U *ifname* | Enables the addition of a RFC 3527 compliant link selection suboption for clients directly connected to the relay. This RFC allows a relay to specify two different IP addresses: one for the server to use when communicating with the relay (giaddr) the other for choosing the subnet for the client (the suboption). This can be useful if the server is unable to send packets to the relay via the address used for the subnet. | |-c *count* | Maximum hop count. When forwarding packets, dhcrelay discards packets which have reached a hop count of COUNT. Default is 10. | - - +|| +  Below is a sample IPv4 DHCP Relay process command: ``` /usr/sbin/dhcrelay -d -m discard -a %%p %%P --name-alias-map-file /tmp/port-name-alias-map.txt -id Vlan10 @@ -265,7 +271,8 @@ The IPv6 DHCP relay process is spawned with the below options supported by ISC-D |-l [*address%*]*ifname*[#*index*] | Specifies the "lower" network interface for DHCPv6 relay mode: the interface on which queries will be received from clients or from other relay agents. At least one -l option must be included in the command line when running in DHCPv6 mode. The interface name "ifname" is a mandatory parameter. The link address can be specified by address%; if it is not, dhcrelay will use the first non-link-local address configured on the interface. The optional #index parameter specifies the interface index. | |-u [*address%*]*ifname* | Specifies the "upper" network interface for DHCPv6 relay mode: the interface to which queries from clients and other relay agents should be forwarded. At least one -u option must be included in the command line when running in DHCPv6 mode. The interface name ifname is a mandatory parameter. The destination unicast or multicast address can be specified by address%; if not specified, the relay agent will forward to the DHCPv6 All_DHCP_Relay_Agents_and_Servers multicast address. | |-c *count* | Maximum hop count. When forwarding packets, dhcrelay discards packets which have reached a hop count of COUNT. Default is 10. | - +|| +  Below is a sample IPv6 DHCP Relay process command: ``` /usr/sbin/dhcrelay -6 -d --name-alias-map-file /tmp/port-name-alias-map.txt -l Vlan10 -u Ethernet64 -u Vlan56 -u PortChannel60 -c 15 @@ -669,6 +676,34 @@ If the DHCPv4 server does not support the server identifier sub-option, then the This sub-option is only applicable to DHCPv4 relay agent. +### 3.1.12 Subinterfaces + +DHCPv4/DHCPv6 relay is supported on subinterfaces. Both the DHCP clients (downstream interface) and DHCP servers (upstream interface) can be reachable/attached via subinterfaces. DHCP config manager is enhanced to handle the subinterface naming format. For DHCPv4, the Option 82 Circuit-Id and Remote-Id values in the relayed packet are derived based on the subinterface name associated with the downstream interface. The maximum number of subinterfaces that can be enabled for DHCP relay is limited - refer to the scaling requirements section. + +``` +# Sample commands to configure DHCP relay on subinterfaces + +# Create L3 subinterface on Ethernet28 with VLAN 200 +config subinterface add Ethernet28.200 200 + +# Configure IP address on the subinterface +config interface ip add Ethernet28.200 3.0.0.1/24 +config interface ip add Ethernet28.200 1000::1/64 + +# Enable DHCP relay on the subinterface +config interface ip dhcp-relay add Ethernet28.200 2.0.0.2 +config interface ipv6 dhcp-relay add Ethernet28.200 2000::2 + +# Check the show command to verify the relay is configured +show ip dhcp-relay brief ++------------------+-----------------------+ +| Interface Name | DHCP Helper Address | ++==================+=======================+ +| Ethernet28.200 | 2.0.0.2 | ++------------------+-----------------------+ + +``` + ## 3.2 DB Changes ### 3.2.1 CONFIG DB To support a list of IPv6 DHCP Relay addresses on an interface, INTERFACE table is modified to add a new key-value pair where the value is a comma separated list of ipv6-dhcp-relay-addresses. @@ -1616,7 +1651,9 @@ Up to 4 DHCP relay addresses can be configured on each routing interface in the 32. Enable VSS option, and ensure the relay is appending client VRF name in the relayed packet to server. 33. Verify that adding/modifying/deleting of DHCP server address on the interface does not restart the docker. Check 'uptime' of the docker using 'docker ps' command. 34. Verify that the packets with agent option 82 are handled as per the configured policy action (discard/append/replace). +35. Verify DHCPv4/DHCPv6 relay functionality on L3 subinterfaces (Ethernet and PortChannel based). # 10 Future enhancements + From 2fff48c9be8b761b4d6fb19a2c814c5135c026f3 Mon Sep 17 00:00:00 2001 From: Utpal Pintoo Date: Thu, 31 Dec 2020 01:39:34 -0800 Subject: [PATCH 6/9] IP ECMP HLD - Symmetric Hash --- L3/IP_ECMP_LoadShare_Hash.md | 403 +++++++++++++++++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 L3/IP_ECMP_LoadShare_Hash.md diff --git a/L3/IP_ECMP_LoadShare_Hash.md b/L3/IP_ECMP_LoadShare_Hash.md new file mode 100644 index 000000000000..4f621567f11a --- /dev/null +++ b/L3/IP_ECMP_LoadShare_Hash.md @@ -0,0 +1,403 @@ +# IP ECMP Load-Share Hash Configuration + +# High Level Design Document +###### Rev 0.2 + +# Table of Contents + * [List of Tables](#list-of-tables) + * [Revision](#revision) + * [About This Manual](#about-this-manual) + * [Scope](#scope) + * [Definition/Abbreviation](#definitionabbreviation) + * [1 Requirement Overview](#1-requirement-overview) + * [1.1 Functional Requirements](#11-functional-requirements) + * [1.2 Configuration and Management Requirements](#12-configuration-and-management-requirements) + * [1.3 Scalability Requirements](#13-scalability-requirements) + * [1.4 Warm Boot Requirements](#14-warm-boot-requirements) + * [2 Functionality](#2-functionality) + * [2.1 Target Deployment Use Cases](#21-target-deployment-use-cases) + * [2.2 Functional Description](#22-functional-description) + * [3 Design](#3-design) + * [3.1 Overview](#31-overview) + * [3.2 DB Changes](#32-db-changes) + * [3.3 Switch State Service Design](#33-switch-state-service-design) + * [3.4 SyncD](#34-syncd) + * [3.5 SAI](#35-sai) + * [3.6 CLI](#36-cli) + * [4 Flow Diagrams](#4-flow-diagrams) + * [6 Warm Boot Support](#6-warm-boot-support) + * [7 Dynamic Port Breakout](#7-dynamic-port-breakout) + * [8 Scalability](#8-scalability) + * [9 Unit Test](#9-unit-test) + +# List of Tables +[Table 1: Abbreviations](#table-1-abbreviations) + +# Revision +| Rev | Date | Author(s) | Description | +|:---:|:----------:|:-------------------|:---------------------------| +| 0.1 | 10/14/2020 | Sathishkumar S, Suman Kumar, Utpal Kant Pintoo | Initial version | +| 0.2 | 01/08/2021 | Utpal Kant Pintoo | Symmetric Hash | + +# About this Manual +This document provides OpenConfig Yang and KLISH Config CLI support for IP ECMP load-share parameters in SONiC. + +# Scope +This document describes the high level description of IP ECMP load-share hash configurations in SONiC. + +# Definition/Abbreviation +### Table 1: Abbreviations +| **Term** | **Meaning** | +|-------------|-----------------------------------------| +| CLI | Command Line Interface | +| IP | Internet Protocol | +| ECMP | Equal Cost Multi-Path | + +# 1 Requirement Overview + +## 1.1 Functional Requirements + +1. User should be able to modify the following parameters for IP ECMP load-share hashing + - Hash Seed + - IPv4 packet-header fields + - IPv6 packet-header fields +2. User should be able to enable/disable symmetric hashing for IP ECMP +3. User should be able to fetch current configured parameters for IP ECMP load-share hashing + +## 1.2 Configuration and Management Requirements + + - Open Config based KLISH CLIs to modify/fetch IP ECMP load-share hashing parameters + - REST URL APIs support to modify/fetch IP ECMP load-share hashing parameters + +## 1.3 Scalability Requirements + + - Not applicable + +## 1.4 Warm Boot Requirements + + - This configuration should persist across warmboot + +# 2 Functionality + +## 2.1 Target Deployment Use Cases + + ECMP Polarization: Traffic, which gets load-shared on a device, does not get load-shared further if identical load-share parameters are used in successive devices. In Multi-tier topology, ECMP hash polarization is common. SONiC addresses this by changing hash "seed" based on switch role. + + TCP Optimizer: This is a common service as part of service-chaining. The expectation here is that a bidirectional flow always go through the same TCP optimizer. To ensure this, symmetric hashing can be used so that same nexthop is chosen for bidirectional flows. + +## 2.2 Functional Description + +Equal Cost Multi-Path (ECMP) is used in Layer-3 routing to forward traffic to a destination using multiple available paths. Increasing the number of paths, increases the available bandwidth to reach the destination. However, all available paths should be closely load-shared so that no one path is over/under-utilized. It is also required to maintain same path for a given traffic "flow" to avoid any packet re-ordering issue. ASICs achieve this by using an hash algorithm to generate a hash value from packet header and/or static hash configurations. This, generated hash value, is then used to load-share flows across different available paths. + +Symmetric hashing allows bidirectional flows with a given Src-IP and Dst-IP and/or given Src-Port and Dst-Port to follow the same path even when they are interchanged. This can be controlled, separately, for IPv4 and IPv6 flows on the device. + +This feature allows user to modify the IP ECMP load-share hashing parameters to affect traffic load-sharing across multiple available paths. All the configurations are per-device. + +It is important to note here that this feature is not intended to affect port-channel load distribution behaviour. + +# 3 Design +## 3.1 Overview + +Below is a high-level hierarchy of IP ECMP load-share hash config OC YANG extended model. + + module: openconfig-loadshare-mode-ext + +--rw loadshare + +--rw config + +--ro state + +--rw seed-attrs + | +--rw config + | | +--rw hash? string + | | +--rw ecmp-hash-seed? uint32 + | +--ro state + | +--ro hash? string + | +--ro ecmp-hash-seed? uint32 + +--rw ipv4-attrs + | +--rw config + | | +--rw ipv4? string + | | +--rw ipv4-l4-src-port? boolean + | | +--rw ipv4-l4-dst-port? boolean + | | +--rw ipv4-src-ip? boolean + | | +--rw ipv4-dst-ip? boolean + | | +--rw ipv4-ip-proto? boolean + | | +--rw ipv4-symmetric? boolean + | +--ro state + | +--ro ipv4? string + | +--ro ipv4-l4-src-port? boolean + | +--ro ipv4-l4-dst-port? boolean + | +--ro ipv4-src-ip? boolean + | +--ro ipv4-dst-ip? boolean + | +--ro ipv4-ip-proto? boolean + | +--ro ipv4-symmetric? boolean + +--rw ipv6-attrs + +--rw config + | +--rw ipv6? string + | +--rw ipv6-l4-src-port? boolean + | +--rw ipv6-l4-dst-port? boolean + | +--rw ipv6-src-ip? boolean + | +--rw ipv6-dst-ip? boolean + | +--rw ipv6-next-hdr? boolean + | +--rw ipv6-symmetric? boolean + +--ro state + +--ro ipv6? string + +--ro ipv6-l4-src-port? boolean + +--ro ipv6-l4-dst-port? boolean + +--ro ipv6-src-ip? boolean + +--ro ipv6-dst-ip? boolean + +--ro ipv6-next-hdr? boolean + +--ro ipv6-symmetric? boolean + +With above OCYang model support, user can use the REST URL APIs corresponding to the above OCYang model and retrieve IP ECMP load-share hash related configuration and operational/state data. + +KLISH CLIs will be provided for IP ECMP load-share hash config and show commands. Please refer to CLI section for more details. + +## 3.2 DB Changes + +### 3.2.1 CONFIG DB + +IP ECMP load-share configuration data will be as per SONiC YANG model. + + 127.0.0.1:6379[4]> hgetall "ECMP_LOADSHARE_TABLE_IPV4|ipv4" + 1) "ipv4_l4_src_port" + 2) "true" + 3) "ipv4_l4_dst_port" + 4) "true" + 5) "ipv4_src_ip" + 6) "true" + 7) "ipv4_dst_ip" + 8) "true" + 9) "ipv4_protocol" + 10) "true" + 11) "ipv4_symmetric" + 12) "false" + + 127.0.0.1:6379[4]> hgetall "ECMP_LOADSHARE_TABLE_IPV6|ipv6" + 1) "ipv6_l4_src_port" + 2) "true" + 3) "ipv6_l4_dst_port" + 4) "true" + 5) "ipv6_src_ip" + 6) "true" + 7) "ipv6_dst_ip" + 8) "true" + 9) "ipv6_next_hdr" + 10) "true" + 11) "ipv6_symmetric" + 12) "false" + + 127.0.0.1:6379[4]> hgetall "ECMP_LOADSHARE_TABLE_SEED|hash" + 1) "ecmp_hash_seed" + 2) "100" + +### 3.2.2 APP DB + +Existing "ecmp_hash_seed" field is being used for seed parameter. For other parameters, switch table includes following new fields: + - ecmp_hash_fields_ipv4 + - ecmp_hash_fields_ipv6 + - ecmp_hash_mode_ipv4 + - ecmp_hash_mode_ipv6 + +Sample output: + + 127.0.0.1:63792> HGETALL "SWITCH_TABLE:switch" + 1) "ecmp_hash_fields_ipv4" + 2) "ipv4_src_ip,ipv4_dst_ip,ipv4_protocol,ipv4_l4_src_port,ipv4_l4_dst_port" + 3) "ecmp_hash_fields_ipv6" + 4) "ipv6_src_ip,ipv6_dst_ip,ipv6_next_hdr,ipv6_l4_src_port,ipv6_l4_dst_port" + 5) "ecmp_hash_seed" + 6) "100" + 7) "ecmp_hash_mode_ipv4" + 8) "ipv4_symmetric" + 9) "ecmp_hash_mode_ipv6" + 10) "ipv6_symmetric" + 127.0.0.1:63792> + +### 3.2.3 STATE DB + +### 3.2.4 ASIC DB + +### 3.2.5 COUNTER DB + +### 3.2.6 Configuration save and restart + +## 3.3 Switch State Service Design + +### 3.3.1 Switchmgrd + +A new manager module - "switchmgr" has been introduced. It subscribes to the new IPv4/v6 ECMP load-share tables in the CONFIG DB. It processes CONFIG DB messages and updates the APP DB switch-table with all the valid packet-fields and symmetric hash config for IP ecmp. + +### 3.3.2 Orchestration Agent + +"Switchorch" component in OA subscribes to the switch table in APP DB and processes the new fields in switch table. The list of packet-fields for ecmp load-share is maintained as an attribute of hash objects - one each for IPv4 and IPv6. On receiving ecmp load-share packet-fields update, old hash object, if any, is deleted and the existing packet-fields are cleared in ASIC. Then a new hash object with supplied packet-fields is created and ASIC is programmed with the same. For symmetric hash, appropriate switch attribute (ipv4/v6) is called with user config (enable/disable). + +## 3.4 SyncD + +## 3.5 SAI + +Existing SAI attributes being used: + + SAI_HASH_ATTR_NATIVE_HASH_FIELD_LIST + SAI_SWITCH_ATTR_ECMP_HASH_IPV4 + SAI_SWITCH_ATTR_ECMP_HASH_IPV6 + SAI_SWITCH_ATTR_ECMP_DEFAULT_HASH_SEED + +New SAI attributes (experimental): + + SAI_SWITCH_ATTR_ECMP_SYMMETRIC_HASH_IPV4 + SAI_SWITCH_ATTR_ECMP_SYMMETRIC_HASH_IPV6 + +## 3.6 CLI + +### 3.6.1 Data Models + +Please refer section 3.2 + +### 3.6.2 Configuration Commands + + [no] ip load-share hash ipv4 {ipv4-src-ip | ipv4-dst-ip | ipv4-ip-proto | ipv4-l4-src-port | ipv4-l4-dst-port | symmetric} + [no] ip load-share hash ipv6 {ipv6-src-ip | ipv6-dst-ip | ipv6-next-hdr | ipv6-l4-src-port | ipv6-l4-dst-port | symmetric} + [no] ip load-share hash seed + +Example: + + ip load-share hash seed 12 + + ip load-share hash ipv4 ipv4-src-ip + ip load-share hash ipv4 ipv4-dst-ip + ip load-share hash ipv4 symmetric + + ip load-share hash ipv6 ipv6-l4-src-port + ip load-share hash ipv6 ipv6-l4-dst-port + ip load-share hash ipv6 symmetric + +### 3.6.3 Show Commands + + show ip load-share + +Sample Output: + + IP Hash Mode: Default + IPv6 Hash Mode: Symmetric + Packet Header Fields: + IP: ipv4-src-ip ipv4-dst-ip ipv4-ip-proto ipv4-l4-src-port ipv4-l4-dst-port + IPv6: ipv6-src-ip ipv6-dst-ip ipv6-next-hdr ipv6-l4-src-port ipv6-l4-dst-port + Hash seed: 10 + +### 3.6.4 Debug Commands + +Not applicable + +### 3.6.5 REST API Support + +REST URI for IP ECMP Load-share Hash configuration: + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-src-ip" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv4-src-ip\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-src-ip" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-dst-ip" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv4-dst-ip\":true}" + + DELETE "//restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-dst-ip" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-ip-proto" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv4-ip-proto\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-ip-proto" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-l4-src-port" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv4-l4-src-port\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-l4-src-port" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-l4-dst-port" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv4-l4-dst-port\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-l4-dst-port" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-symmetric" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv4-symmetric\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs/config/ipv4-symmetric" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-l4-src-port" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv6-l4-src-port\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-l4-src-port" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-l4-dst-port" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv6-l4-dst-port\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-l4-dst-port" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-src-ip" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv6-src-ip\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-src-ip" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-dst-ip" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv6-dst-ip\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-dst-ip" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-next-hdr" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv6-next-hdr\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-next-hdr" -H "accept: */*" + + PATCH "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-symmetric" -H "accept: */*" -H "Content-Type: application/yang-data+json" -d "{\"openconfig-loadshare-mode-ext:ipv6-symmetric\":true}" + + DELETE "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs/config/ipv6-symmetric" -H "accept: */*" + +REST URIs for IP ECMP Load-share Hash show: + + GET "/restconf/data/openconfig-loadshare-mode-ext:loadshare/seed-attrs" -H "accept: application/yang-data+json" + + GET "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv4-attrs" -H "accept: application/yang-data+json" + + GET "/restconf/data/openconfig-loadshare-mode-ext:loadshare/ipv6-attrs" -H "accept: application/yang-data+json" + +### 3.6.6 Operational Commands + +### 3.6.7 Limitations + 1. Symmetric hashing cannot be enabled unless following packet-fields are enabled for ECMP hash: + - (Src IP, Dst IP) and/or + - (L4 SrcPort, L4 DstPort) + + + 2. If user has enabled symmetric hashing, user cannot enable/disable any of these packet-fields - Src-Ip, Dst-IP, L4-Src-Port and L4-Dst-Port, in ECMP hash configuration. + +# 4 Flow Diagrams + +# 5 Serviceability and Debug + +# 6 Warm Boot Support + +# 7 Dynamic Port Breakout + +# 8 Scalability + +# 9 Unit Test + +## 9.1 IP ECMP Load-share Testcases + + 1. Verify ECMP load-share for "default" config + + 2. Verify ECMP load-share for user-configured IPv4/v6 fields + a. Select only src-ip and dst-ip, send traffic by changing either of them and verify traffic is load-shared + b. Select only src-ip and dst-ip, do not change src/dst-ip in traffic but change l4-src/dst-port and verify traffic is not load-shared + + 3. Verify ECMP polarization for L3 underlay traffic(IPv4/v6) *server-->leaf1-->spine1/2-->leaf3/4-->server* + a. Configure different hash seed on different tiers in a clos topology and confirm that traffic is load-shared in all tiers + b. Select different packet-fields in different tiers in a clos topology and confirm that traffic is load-shared in all tiers + + 4. Verify ECMP polarization for L3 Vxlan traffic(ipv4/v6) *server-->Leaf1-->spine1/2-->leaf3/4-->server, Vxlan tunnel between leaves - 1 & 3 and 1 & 4* + a. Configure different hash seed in different tiers in a clos topology and confirm that traffic is load-shared in all tiers + b. Select different packet-fields in different tiers in a clos topology and confirm that traffic is load-shared in all tiers + + 5. Verify IP ECMP load-share config is retained after + a. Device Warmboot + b. Device Reload + +## 9.2 Symmetric Hash Testcases + + 1. Verify the bidirectional IPv4 flows follow the same path with default ECMP hash pkt-fields and symmetric hashing enabled + 2. Verify the bidirectional IPv4 flows follow the same path with SIP/DIP pkt-fields and symmetric hashing enabled + 3. Verify the bidirectional IPv4 flows follow the same path with L4-SrcP/DstP pkt-fields and symmetric hashing enabled + 4. Verify the bidirectional IPv4 flows follow the same path with SIP/DIP/L4-SrcP/DstP pkt-fields and symmetric hashing enabled + 5. Verify the bidirectional IPv4 flows follow the same path with default ECMP hash pkt-fields and symmetric hashing enabled + 6. Verify the bidirectional IPv4 flows follow the same path with SIP/DIP pkt-fields and symmetric hashing enabled + 7. Verify the bidirectional IPv4 flows follow the same path with L4-SrcP/DstP pkt-fields and symmetric hashing enabled + 8. Verify the bidirectional IPv4 flows follow the same path with SIP/DIP/L4-SrcP/DstP pkt-fields and symmetric hashing enabled + 9. Verify ECMP symmetric hash config is retained after + a. Device Warmboot + b. Device Reload From 7621f909fce2a4790c72183d04be5ea3244e5384 Mon Sep 17 00:00:00 2001 From: sayedsaquibbrcm <50947519+sayedsaquibbrcm@users.noreply.github.com> Date: Wed, 13 Jan 2021 12:58:08 +0530 Subject: [PATCH 7/9] Update sonic-sub-port-intf-hld.md --- L3/Subinterfaces/sonic-sub-port-intf-hld.md | 52 +++++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/L3/Subinterfaces/sonic-sub-port-intf-hld.md b/L3/Subinterfaces/sonic-sub-port-intf-hld.md index b1b1afe33e9e..a3bd1e9dc1b3 100644 --- a/L3/Subinterfaces/sonic-sub-port-intf-hld.md +++ b/L3/Subinterfaces/sonic-sub-port-intf-hld.md @@ -523,7 +523,9 @@ All operation applicable to Physical sub-interfaces are applicable to portchanne - Upon Parent interface oper DOWN: All sub-interfaces under the parent interface will be Oper Down. ## 3.6 Port Aliasing: - +Port Aliasing will not be have any impact due to this feature. The parent interface component of subinterface naming will be inline with existing aliasing convention. +Example: +- Ethernet4.10 will be represented as Eth1/2.10 in standard interface naming mode ## 3.7 Speed/Bandwidth: Speed & Bandwidth is not applicable per sub-interface, rather applicable on parent physical or port channel sub-interface. @@ -531,7 +533,7 @@ Speed & Bandwidth is not applicable per sub-interface, rather applicable on pare Subinterfaces cannot become member of a PortChannel interface. Such configurations will be blocked at CLI level. ## 3.9 Dynamic Port Breakout: -Upon port-breakout, subinterfaces on the parent interface needs to be removed automatically. +Upon port-breakout, subinterfaces on the parent interface needs to be removed automatically. Also, all configuration entries referring to a subinterface will also be removed automatically. ## 3.10 L2 Protocols: None of L2 Protocols are supported on Subinterfaces. @@ -696,7 +698,7 @@ NAT feature will not be supported on sub-interfaces. ![](images/sub_intf_removal_flow.png) # 5 CLIs -## 5.1 Config commands +## 5.1 Config commands (Click) ### 5.1.1 Config a sub port interface `subinterface` command category is introduced to the `config` command. @@ -777,6 +779,50 @@ Usage: config interface startup ``` ``` Usage: config interface shutdown +``` +## 5.1 Config commands (KLiSH) +### 5.1.1 Config a sub port interface +``` +Command: [no] interface + +Example 1: +sonic-cli(config)# interface Ethernet4.10 +sonic-cli(conf-subif-Ethernet4.10)# + +Example 2: +sonic-cli(config)# interface PortChannel 100.100 +sonic-cli(conf-subif-PortChannel100.100)# +``` +### 5.1.2 Config vlan-id on a sub port interface + +``` +Command: encapsulation dot1q vlan +Command: no encapsulation + +Example 1: +sonic-cli(conf-subif-Ethernet4.10)# encapsulation dot1q vlan-id 1000 + +``` +### 5.1.3 Config IP address on a sub port interface + +``` +Command: [no] ip address +Command: [no] ipv6 address + +Example 1: +sonic-cli(config)# interface Ethernet 4.10 +sonic-cli(conf-subif-Ethernet4.10)# ip address 4.10.1.1/24 +sonic-cli(conf-subif-Ethernet4.10)# ipv6 address 410::1/64 + +``` + +### 5.1.4 Change admin status on a sub port interface +``` +Command: [no] shutdown + +Example 1: +sonic-cli(conf-subif-Ethernet4.10)# shutdown + ``` ## 5.2 Show commands From 279131989247137c274859f41e868fdce04873f4 Mon Sep 17 00:00:00 2001 From: Preetham Singh Date: Sun, 31 Jan 2021 23:16:45 -0800 Subject: [PATCH 8/9] Addressing review comments --- L3/Subinterfaces/sonic-sub-port-intf-hld.md | 68 ++++++++++++++------- 1 file changed, 46 insertions(+), 22 deletions(-) diff --git a/L3/Subinterfaces/sonic-sub-port-intf-hld.md b/L3/Subinterfaces/sonic-sub-port-intf-hld.md index 169d22b04664..bd799f891e12 100644 --- a/L3/Subinterfaces/sonic-sub-port-intf-hld.md +++ b/L3/Subinterfaces/sonic-sub-port-intf-hld.md @@ -56,6 +56,9 @@ * [3.29 MTU](#329-mtu) * [3.30 NAT](#330-nat) * [3.31 SPAN/ERSPAN](#331-span/erspan) + * [3.32 NTP](#332-NTP) + * [3.33 DNS](#332-DNS) + * [3.34 TACACS](#332-TACACS) * [4 Event flow diagrams](#4-event-flow-diagrams) * [4.1 Sub port interface creation](#41-sub-port-interface-creation) * [4.2 Sub port interface runtime admin status change](#42-sub-port-interface-runtime-admin-status-change) @@ -77,19 +80,23 @@ * [7.3.2 Remove all IP addresses from a sub port interface](#732-remove-all-ip-addresses-from-a-sub-port-interface) * [7.3.3 Remove a sub port interface](#733-remove-a-sub-port-interface) * [8 Scalability](#8-scalability) - * [9 Port channel renaming](#9-port-channel-renaming) - * [10 Appendix](#10-appendix) - * [10.1 Difference between a sub port interface and a vlan interface](#101-difference-between-a-sub-port-interface-and-a-vlan-interface) - * [12 Acknowledgment](#11-acknowledgment) - * [13 References](#12-references) + * [9 Broadcom Internal Design](#9-broadcom-internal-design) + * [9.1 Platforms Supported](#91-platforms-supported) + * [9.2 Scalability](#92-scalability) + * [10 Upgrade/Downgrade considerations](#10-Upgrade_Downgrade-considerations) + * [11 Appendix](#10-appendix) + * [11.1 Difference between a sub port interface and a vlan interface](#101-difference-between-a-sub-port-interface-and-a-vlan-interface) + * [12 Open questions](#12-open-questions) + * [13 Acknowledgment](#11-acknowledgment) + * [14 References](#12-references) # Revision history -| Rev | Date | Author | Change Description | -| :--: | :--------: | :------------: | --------------------------- | -| 0.1 | 07/01/2019 | Wenda Ni | Initial version | -| 0.2 | 12/17/2020 | Preetham Singh | Update with Feature support | +| Rev | Date | Author | Change Description | +| :--: | :--------: | :----------------------------: | --------------------------- | +| 0.1 | 07/01/2019 | Wenda Ni | Initial version | +| 0.2 | 12/17/2020 | Broadcom Subinterface Dev Team | Update with Feature support | # Scope A sub port interface is a logical interface that can be created on a physical port or a port channel. @@ -588,7 +595,7 @@ OSPF will be supported on sub-interfaces. All Config commands, show commands and show command displays shall adapt to port name conversion from SONiC backend short names to user interface visible sub-interface name. ## 3.17 OSPFv3: -OSPFv3 will be supported on sub-interfaces. +OSPFv3 will NOT be supported on sub-interfaces. ## 3.18 BFD: BFD sessions can run on subinterfaces. @@ -646,7 +653,7 @@ isSag = true/false; SAG can be configured on MCLAG client port subinterfaces. ARP/ND sync across mclag nodes will happen for those learnt on subinterfaces. ## 3.23 VxLAN: -Underlay: If VxLAN tunnel IPs are reachable via subinterfaces, tunnels will NOT be provisioned in hardware +Underlay: If VxLAN tunnel IPs are reachable via subinterfaces, VxLAN tunnels should be provisioned and tunnels should come UP. ## 3.24 MCLAG: - Subinterfaces as MCLAG Clients: @@ -696,6 +703,11 @@ NAT feature will not be supported on sub-interfaces. - ERSPAN destination can be reachable via sub-interfaces. - Sub-interface as mirror destination port will not be supported. +## 3.32 NTP: + +## 3.33 DNS: + +## 3.34 TACACS: # 4 Event flow diagrams ## 4.1 Sub port interface creation @@ -919,32 +931,44 @@ Test shall cover the parent interface being a physical port or a port channel. Scalability is ASIC-dependent. We enforce a minimum scalability requirement on the number of sub port interfaces that shall be supported on a SONiC switch. -| Name | Scaling value | -| ---------------------------------------- | ------------- | +| Name | Scaling value | +| --------------------------------------------------------------- | ------------- | | Number of sub port interfaces per physical port or port channel | 250 | -| Number of sub port interfaces per switch | 750 | +| Number of sub port interfaces per switch | 750 | + +# 9 Broadcom Internal Design + +## 9.1 Platforms supported: +Subinterfaces feature will be supported on all Trident3 based platforms. -# 9 Appendix -## 9.1 Difference between a sub port interface and a vlan interface +## 9.2 Scalability +Below is the scale numbers for subinterfaces feature on Trident3 based platforms. +| Name | Scaling value | +| --------------------------------------------------------------- | ------------- | +| Number of sub port interfaces per physical port or port channel | TBD | +| Number of sub port interfaces per switch | TBD | + +# 10 Appendix +## 10.1 Difference between a sub port interface and a vlan interface Sub port interface is a router interface (RIF type sub port Vlan#) between a VRF and a physical port or a port channel. Vlan interface is a router interface (RIF type vlan Vlan#) facing a .1Q bridge. It is an interface between a bridge port type router (connecting to a .1Q bridge) and a VRF, as shown in Fig. 3. ![](images/vlan_intf_rif.png "Fig. 3: Vlan interface") __Fig. 3: Vlan interface__ -# 10 Open questions: +# 11 Upgrade/Downgrade considerations +Upgrade/downgrade from/to the SONiC community release will be handled by migrating config DB schema. + +# 12 Open questions: 1. Miss policy to be defined in SAI specification When a 802.1q tagged packet is received on a physical port or a port channel, it will go to the sub port interface that matches the VLAN id inside the packet. If no sub port interfaces match the VLAN id in the packet tag, what is the default policy on handling the packet? - As shown in Fig. 1, there is possiblity that a physical port or a port channel may not have a RIF type port created. - In this case, if an untagged packet is received on the physical port or port channel, what is the policy on handling the untagged packet? - -# 11 Acknowledgment +# 13 Acknowledgment Wenda would like to thank his colleagues with Microsoft SONiC team, Shuotian, Prince, Pavel, and Qi in particular, Itai with Mellanox for all discussions that shape the design proposal, and community members for comments and feedbacks that improve the design. -# 12 References +# 14 References [1] SAI_Proposal_Bridge_port_v0.9.docx https://github.com/opencomputeproject/SAI/blob/master/doc/bridge/SAI_Proposal_Bridge_port_v0.9.docx [2] Remove the need to create an object id for vlan in creating a sub port router interface https://github.com/opencomputeproject/SAI/pull/998 From 778ac16fe0f2eda91bcbb9699c2cc6ea992adfeb Mon Sep 17 00:00:00 2001 From: Preetham Singh Date: Tue, 2 Feb 2021 09:31:15 -0800 Subject: [PATCH 9/9] Adding missing feature support over subinterfaces --- L3/Subinterfaces/sonic-sub-port-intf-hld.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/L3/Subinterfaces/sonic-sub-port-intf-hld.md b/L3/Subinterfaces/sonic-sub-port-intf-hld.md index bd799f891e12..b276b665eaac 100644 --- a/L3/Subinterfaces/sonic-sub-port-intf-hld.md +++ b/L3/Subinterfaces/sonic-sub-port-intf-hld.md @@ -683,10 +683,10 @@ If (outer vlan == incoming port’s VLAN) and inner TPID is 0x8100, following t ## 3.26 PIM: -PIM is not supported on sub-interfaces in this release. +PIM is supported on sub-interfaces. ## 3.27 IGMP: -IGMP is not supported on sub-interfaces in this release. +IGMP is supported on sub-interfaces. ## 3.28 QoS: QoS settings are inherited from parent interface. @@ -704,10 +704,13 @@ NAT feature will not be supported on sub-interfaces. - Sub-interface as mirror destination port will not be supported. ## 3.32 NTP: +NTP over subinterfaces is supported. ## 3.33 DNS: +DNS over subinterfaces is supported. ## 3.34 TACACS: +TACACS over subinterfaces is supported. # 4 Event flow diagrams ## 4.1 Sub port interface creation
  • A>4s03)*O6>j}%_hnCl6qCY11ezn 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 literal 0 HcmV?d00001 diff --git a/L24Services/ACL/images/PolicyEval.png b/L24Services/ACL/images/PolicyEval.png index 25da23b909e1c5f65f3af96fdaf181cfedb306b2..a9723d834c9b0184ffdca45b2168ee5a15224758 100644 GIT binary patch literal 31243 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 literal 38840 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