Skip to content

Commit 426e0bc

Browse files
interface group is added to tam spec
1 parent 1378694 commit 426e0bc

File tree

2 files changed

+148
-115
lines changed

2 files changed

+148
-115
lines changed

devops/tam/tam-hld.md

+108-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
- [3.1 Overview](#31-overview)
3333
- [3.2 DB Changes](#32-db-changes)
3434
- [3.2.1 CONFIG DB](#321-config-db)
35-
- [3.2.2 APP DB](#322-app-db)
35+
- [3.2.2 APPL DB](#322-appl-db)
3636
- [3.2.3 STATE DB](#323-state-db)
3737
- [3.2.4 ASIC DB](#324-asic-db)
3838
- [3.2.5 COUNTER DB](#325-counter-db)
@@ -48,15 +48,37 @@
4848
- [3.7.2.1 Setting up switch-wide TAM attributes](#3721-setting-up-switch-wide-tam-attributes)
4949
- [3.7.2.2 Setting up Collectors](#3722-setting-up-collectors)
5050
- [3.7.2.2 Setting up Flow Groups](#3722-setting-up-flow-groups)
51-
- [3.7.2.2 Setting up Samplers](#3722-setting-up-samplers)
51+
- [3.7.2.3 Attaching a Flow Group to an interface](#3723-attaching-a-flow-group-to-an-interface)
52+
- [3.7.2.4 Setting up Samplers](#3724-setting-up-samplers)
53+
- [3.7.2.5 Setting up TAM interface groups](#3725-setting-up-tam-interface-groups)
5254
- [3.7.3 Show Commands](#373-show-commands)
5355
- [3.7.3.1 Listing the Switch-wide TAM attributes](#3731-listing-the-switch-wide-tam-attributes)
5456
- [3.7.3.2 Listing the Collectors](#3732-listing-the-collectors)
5557
- [3.7.3.3 Listing the Samplers](#3733-listing-the-samplers)
5658
- [3.7.3.4 Listing the Flow groups](#3734-listing-the-flow-groups)
5759
- [3.7.3.3 Listing the TAM features](#3733-listing-the-tam-features)
60+
- [3.7.3.4 Listing the interface group information](#3734-listing-the-interface-group-information)
5861
- [3.7.5 Debug Commands](#375-debug-commands)
5962
- [3.7.6 REST API Support](#376-rest-api-support)
63+
- [Yang-based REST API based on the openconfig-tam module defintions](#yang-based-rest-api-based-on-the-openconfig-tam-module-defintions)
64+
- [Obtaining the status of all TAM feautures on the switch](#obtaining-the-status-of-all-tam-feautures-on-the-switch)
65+
- [Obtaining a status of a specific TAM feature](#obtaining-a-status-of-a-specific-tam-feature)
66+
- [Activating/De-activating a specific TAM feature](#activatingde-activating-a-specific-tam-feature)
67+
- [Obtaining TAM switch-wide attributes](#obtaining-tam-switch-wide-attributes)
68+
- [Setting-up TAM switch-wide attribute : switch-id](#setting-up-tam-switch-wide-attribute--switch-id)
69+
- [Setting-up TAM switch-wide attribute : enterprise-id](#setting-up-tam-switch-wide-attribute--enterprise-id)
70+
- [Resetting the TAM switch-wide attributes to defaults](#resetting-the-tam-switch-wide-attributes-to-defaults)
71+
- [Obtaining all of the collectors](#obtaining-all-of-the-collectors)
72+
- [Obtaining a specific collector](#obtaining-a-specific-collector)
73+
- [Creating a collector](#creating-a-collector)
74+
- [Deleting a collector](#deleting-a-collector)
75+
- [Obtaining all of the Samplers](#obtaining-all-of-the-samplers)
76+
- [Obtaining a specific sampler](#obtaining-a-specific-sampler)
77+
- [Creating a Sampler](#creating-a-sampler)
78+
- [Deleting a Sampler](#deleting-a-sampler)
79+
- [Obtaining all of the flow-groups](#obtaining-all-of-the-flow-groups)
80+
- [Creating a flow-group](#creating-a-flow-group)
81+
- [Deleting a flow-group](#deleting-a-flow-group)
6082
- [4 Flow Diagrams](#4-flow-diagrams)
6183
- [4.1 Config call flow](#41-config-call-flow)
6284
- [5 Error Handling](#5-error-handling)
@@ -65,7 +87,11 @@
6587
- [7 Warm Boot Support](#7-warm-boot-support)
6688
- [8 Scalability](#8-scalability)
6789
- [9 Unit Test](#9-unit-test)
68-
- [CLI](#cli)
90+
- [CLI](#cli-1)
91+
- [Broadcom Internal Information : To be removed before publishing externally.](#broadcom-internal-information--to-be-removed-before-publishing-externally)
92+
- [Revision History](#revision-history)
93+
- [Key notes](#key-notes)
94+
- [Specific Limitations](#specific-limitations)
6995

7096
## List of Tables
7197

@@ -116,6 +142,9 @@ There are many common aspects among the TAM features, as defined in the TAM spec
116142

117143
5.0 TAM infrastucture must support activating and deactivating individual features.
118144

145+
6.0 TAM infrastucture must allow a common specification of a interface group(if-group) definition that can be named and refererenced by individual features.
146+
it must allow user to add ingress and egress ports to the if-group.
147+
119148
### 1.1.2 Configuration and Management Requirements
120149

121150
The TAM infrastructure supports the new management framework and KLISH CLI for configuration.
@@ -270,6 +299,30 @@ This table holds various flow-group references that are setup to be used with th
270299
3) "table-name"
271300
4) "TAM"
272301

302+
TAM\_IF\_GROUP\_TABLE
303+
304+
;Defines TAM interface groups configuration in CONFIG_DB
305+
306+
key = name ; name is if-group name and should be unique
307+
ingress-ports = [0-max_ports]*port_name ; List of ingress ports participating in this group
308+
egress-ports = [0-max_ports]*port_name ; List of egress ports participating in this group
309+
310+
;value annotations
311+
max_ports = 1*5DIGIT ; number of ports supported on the chip
312+
port_name = 1*64VCHAR ; name of the port, must be unique
313+
; port name can be Ethernetxxx
314+
Example:
315+
> keys *TAM_IF_GROUP_TABLE*
316+
1) "TAM_IF_GROUP_TABLE|pg1"
317+
318+
> hgetall "TAM_IF_GROUP_TABLE|pg1"
319+
320+
1) "ingress-ports"
321+
2) "Ethernet1, Ethernet3"
322+
3) "egress-ports"
323+
4) "Ethernet4, Ethernet2"
324+
325+
273326

274327
### 3.2.2 APPL DB
275328

@@ -461,6 +514,34 @@ sonic (config-tam)# no sampler <name>
461514
462515
```
463516

517+
#### 3.7.2.5 Setting up TAM interface groups
518+
- To monitor traffic between a particualr ingress and egress set of ports, the if-group must be previously created with the `if-group` command (under `config-tam`) hierarchy). It must be associated with set of egress-ports and/or ingress-ports. A port can be part of only one if-group's egress-port list.
519+
- The command syntax to create a if-group is as follows
520+
```
521+
sonic (config-tam)# if-group P1
522+
sonic (config-tam)# [no] if-group P1
523+
524+
```
525+
| **Attribute** | **Description** |
526+
|--------------------------|-------------------------------------|
527+
| `if-group` | Name of the interface group
528+
529+
- The command syntax to associate ingress and egress ports to a if-group is as follows
530+
```
531+
sonic (conf-if-Ethernet1)# if-group P1 direction ingress
532+
sonic (conf-if-Ethernet2)# if-group P1 direction ingress
533+
sonic (conf-if-Ethernet5)# if-group P1 direction egress
534+
sonic (conf-if-Ethernet6)# if-group P1 direction egress
535+
536+
```
537+
| **Attribute** | **Description** |
538+
|---------------------------|-------------------------------------|
539+
| `if-group` | Name of the interface group
540+
| `direction` | To add port to ingress/egress port-list
541+
542+
543+
- This command updates the TAM_IF_GROUP_TABLE in CONFIG_DB.
544+
464545
### 3.7.3 Show Commands
465546

466547
#### 3.7.3.1 Listing the Switch-wide TAM attributes
@@ -587,8 +668,32 @@ sonic-cli# show tam features ifa
587668
588669
Name : ifa
589670
Status : Active
671+
```
672+
#### 3.7.3.4 Listing the interface group information
673+
674+
The following command lists the details for all queue latency monitor if-groups or for a specific if-group.
675+
676+
```
677+
sonic # show tam if-groups [<name>]
678+
```
679+
Sample usage shown below.
680+
681+
```
682+
sonic # show tam if-groups
683+
Name ingress ports egress ports
684+
--------- ------------------------ -----------------------
685+
P1 Ethernet1, Ethernet2 Ethernet3, Ethernet4
686+
P2 * Ethernet5, Ethernet6
687+
688+
sonic # show tam if-groups P1
689+
Name : P1
690+
ingress ports : Ethernet1,Ethernet2
691+
egress ports : Ethernet3, Ethernet4
692+
590693
```
591694

695+
- This command refers to the TAM_IF_GROUP_TABLE in CONFIG_DB.
696+
592697
### 3.7.5 Debug Commands
593698
N/A
594699

0 commit comments

Comments
 (0)