EGRess

Manage source-based egress enabling

EGRess

Shortest form: egr.

Source-based egress masking: for each source (module, port), the set of local ports that its traffic may leave through. Type show and set in full.

The built-in help writes Module= for egress show, but the shell accepts Modid= (shortest m=) and rejects Module=. The help also writes PBmp=; pbmp= works.

show is read-only. set can silently black-hole traffic between ports. SONiC does not manage this table, so a change stays until the ASIC is re-initialised.

egress show [Port=<port>] [Modid=<modid>]

For every (module, port), or only the ones given, print the ports that source may egress to: Module <m>, port <p>:  Enabled egress ports <pbmp>. An unrestricted source lists every port, cpu,ce,xe on a 32x100G switch; that is what a SONiC switch shows. Without arguments the shell checks every module ID and port, which takes a while. Read-only.

Hardware-validated

drivshell> egress show port=1 modid=0
Module 0, port 1:  Enabled egress ports cpu,ce,xe
egress set [Port=<port>] [Modid=<modid>] Pbmp=<pbmp>

Set the ports that one source (module, port) may egress to. Port and module default to 0. Changes the ASIC.

Unvalidated

drivshell> egress set port=1 modid=0 pbmp=ce1-ce3

Built-in help

Usages:
      egress set [<Port=port#>] [<Modid=modid>] <PBmp=val>
            - Set allowed egress bitmap for (modid,port) or all
      egress show [<Port=port#>] [<Module=modid>]
            - Show allowed egress bitmap for (modid,port)