The ACL function of the BCM chip can classify some flows, such as rate limiting of unknown packets, etc.
BCM.0> fp initBCM.0> fp qset clear
BCM.0> fp qset add bcmFieldQualifyStageIngress
BCM_FIELD_QSET_ADD(StageIngress) okay
BCM.0> fp qset add bcmFieldQualifyInPorts
BCM_FIELD_QSET_ADD(InPorts) okay
BCM.0> fp qset add bcmFieldQualifyPacketRes
BCM_FIELD_QSET_ADD(PacketRes) okay
BCM.0> fp group create 0 1
BCM.0> fp entry create 1 1
BCM.0> fp qual 1 packetres res=L3McUnknown
BCM.0> fp policer create PolId=1 mode=Committed cbs=1000 cir=64
BCM.0> fp policer attach entry=1 PolId=1
BCM.0> fp entry install 1
BCM.0> fp show group 1
GID 1: gid=0x1, instance=0 mode=Single, stage=Ingress lookup=Enabled, ActionResId={-1},pbmp=
{0x00000000000000000000000000000000000000000000000003ffffffffffffff}
qset={InPorts, PacketRes, Stage, StageIngress},
selcodes[0]=
{
FPF1=5
Intraslice=Primary slice.
{
InPorts->Stage->StageIngress->PacketRes},
slice_pri= 0 {slice_number=0, Entry count=256(0x100),pbmp={0x00000000000000000000000000000000000000000000000003ffffffffffffff}},
group_status={prio_min=0, prio_max=2147483647, entries_total=4096, entries_free=4095,
counters_total=4096, counters_free=4096, meters_total=4096, meters_free=4095}
EID 0x00000001: gid=0x1,
slice=0, slice_idx=0, part =0 prio=0, flags=0x10602, Installed, Enabled
tcam: color_indep=1,
InPorts
DATA=0x00000000000000000000000000000000000000000000000003ffffffffffffff
MASK=0x00000000000000000000000000000000000000000000000003ffffffffffffff
Stage
StageIngress
PacketRes
Offset0: 205 Width0: 6
DATA=0x00000013
MASK=0x0000003f
policer={ commit_kbits_sec=0x40, commit_kbits_burst=0x3e8, PacketBased=0, mode=0x1, entries=2, Clean}
statistics=NULL