Hi
I tried to implement a filter to accept only untagged packets at gbes MAC port2.
The plan was:
1. enable vlan aware
2. enable ale vlan aware
3. disable ale bypass
4. clear ale table
5. set port2 to tag untagged packets with 0x10
6. add ale entry to accept vlan 0x10
7. set to untag on egress.
8. no unknown ale entry
Code:
CSL_CPSW_3GF_enableVlanAware();
CSL_CPSW_3GF_enableAleVlanAware();
CSL_CPSW_3GF_disableAleBypass();
CSL_CPSW_3GF_setPortVlanReg(0 0x10, 1, 2);
CSL_CPSW_3GF_setAleUnkownVlanReg(0,0,0,0);
aleVlanEntry.vlanId = 0x10;
aleVlanEntry.vlanMemList = 5;
aleVlanEntry.forceUntaggedEgress = 5;
aleVlanEntry.regMcastFloodMask = 5;
aleVlanEntry.unRegMcastFloodMask = 5;
CSL_CPSW_3GF_setAleVlanEntry(index++, &aleVlanEntry);
I find that this
1. correctly adds vlan tags to untagged broadcast traffic.
2. passes broadcast packets out of port0 ok.
3. does not pass unicast packets out of port0.
4. I can't tell if unicast packets are not tagged and then dropped or
tagged and then dropped. no visibility.
(setting force untagged to 0 confirms that broadcast are being tagged.
Still don't see unicast)
Is this a reasonable expectation that I can filter untagged packets in
this manner?
Why are unicast packets being dropped?
(even though they match the vlan id in the ale rule)
PDK is at pdk_C6678_1_1_2_5
Thanks