This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: CPSW: How to block multicast and broadcast ethernet packets in ALE_VLAN_UNAWARE mode ?

Part Number: TDA4VM

Tool/software:

Hi TI,

Hope you are doing well.

I am using PDK v8.02. I want to block broadcast ethernet packets received on CPSW2G from outside network.
What type of entry I need to make in ALE Lookup table for blocking broadcasted ethernet packets?

Can you provide an example for reference?

Best regards,
Hasan

  • Hi,

    May I know which example you are running from PDK.

    By default ALE will be enabled, and if we are not adding broadcast ALE entry usually Broadcast packet will be dropped.

    If VLAN is enabled, and the received broadcast packet is with VLAN entry in ALE then it will be processed based on VLAN member + un-register multicast.

    If ALE for VLAN Is not available then packet process will be based on unknown VLAN configuration registers.

    Please refer to TRM for more details about ALE ingress process.
    Also, check the ALE entries you are having using CCS debug gel script from "PDK/enet/tools/debug_gels". Refer to below FAQ for printing ALE table.
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1204394/faq-tda4vm-how-to-print-the-ale-table-for-cpsw-in-tda4-dra8-devices

    Best Regards,
    Sudheer

  • Hi Sudheer,

    I am developing my own application using Enet Loopback example as reference.

    I want to have only multicast without VLAN id and unicast entries in ALE Lookup table. I don't want VLAN aware for ALE, I want VLAN disabled for ALE. In this scenario, what register configuration I need to make multicast and unicast entries in ALE table such that CPSW receives data from the MAC addresses in the ALE table?

    How to disable VLAN configuration completely so that it doesn't interfere with ALE entries?

    Best regards,
    Hasan 

  • Hi,

    Enet loopback example adds ALE Broadcast entry, Please refer to below. You can remove this code from your application so, Broadcast entry will not be added.

    Also, by default ALE is VLAN disabled mode. Please refer to below.


    Best Regards,
    Sudheer

  • Hi Sudheer,

    I think we both have a miscommunication about question. Let me explain it again in a more clear way.

    I am developing an application using PDK v8.2.  I have the following ALE configurations for CPSW2G:
    ENABLE_ALE: 1
    ALE_VLAN_AWARE: 0

    The only entry in the ALE table is Host MAC Address. There are no broadcast entries or multicast entries.

    When I am receiving ethernet packets from CANoe, I can see I am only receiving unicast packets which are directed. But, I am receiving everything sent from CANoe on CPSW2G which is broadcasted or multicast. 
    Also I have tried all possible combinations of the following bits:
    UVLAN_MEMBER_LIST: 0-3
    UVLAN_UNREG_MCAST_FLOOD_MASK: 0-3
    UVLAN_REG_MCAST_FLOOD_MASK: 0-3

    Questions:

    1. WhyCPSW2G is receiving broadcasted and multicast ethernet packets when ALE only have 1 unicast entry in Lookup Table?
    2. How can I block these unwanted broadcast and multicast ethernet packets?

    I have already gone through CPSW2G TRM several times. I am expecting some additional information when is necessary for MAC filtering.

    Looking forward to hearing back from you

    Best Regards,
    Hasan

  • Hi,

    Can you CPSW ALE registers and share with us.
    If promisc mode is enabled then, external port will accept all packets and forward to Host Port.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    I am sharing the ALE registers as well as a screenshot of ethernet packets received on CPSW2G with you. 

      MCU_CPSW0_ALE
    
        MCU_CPSW0_NUSS_ALE
        CPSW_ALE_MOD_VER       00293904    MODULE_ID                    0029
                                           RTL_VERSION                  7
                                           MAJOR_REVISION               1
                                           CUSTOM_REVISION              0
                                           MINOR_REVISION               4
        CPSW_ALE_STATUS        00000140    POLCNTDIV8                   01
                                           RAMDEPTH128                  0
                                           RAMDEPTH32                   1
                                           KLUENTRIES                   0
        CPSW_ALE_CONTROL       800000C0    ENABLE_ALE                   1
                                           CLEAR_TABLE                  0
                                           AGE_OUT_NOW                  0
                                           MIRROR_DP                    0
                                           UPD_BW_CTRL                  350Mhz 5M
                                           MIRROR_TOP                   0
                                           UPD_STATIC                   0
                                           UVLAN_NO_LEARN               0
                                           MIRROR_MEN                   0
                                           MIRROR_DEN                   0
                                           MIRROR_SEN                   0
                                           EN_HOST_UNI_FLOOD            0
                                           LEARN_NO_VLANID              1
                                           ENABLE_VID0_MODE             1
                                           ENABLE_OUI_DENY              0
                                           ENABLE_BYPASS                No bypass
                                           BCAST_MCAST_CTL              0
                                           ALE_VLAN_AWARE               0
                                           ENABLE_AUTH_MODE             The ALE is not in MAC authorization mode
                                           ENABLE_RATE_LIMIT            0
        CPSW_ALE_CTRL2         00000000    TRK_EN_DST                   0
                                           TRK_EN_SRC                   0
                                           TRK_EN_PRI                   0
                                           TRK_EN_IVLAN                 0
                                           TRK_EN_SIP                   0
                                           TRK_EN_DIP                   0
                                           DROP_BADLEN                  0
                                           NODROP_SRCMCST               0
                                           DEFNOFRAG                    0
                                           DEFLMTNXTHDR                 0
                                           TRK_BASE                     ?
                                           MIRROR_MIDX                  0
        CPSW_ALE_PRESCALE      0003D090    ALE_PRESCALE                 03D090
        CPSW_ALE_AGING_CTRL    00000682    PRESCALE_2_DISABLE           0
                                           PRESCALE_1_DISABLE           0
                                           ALE_AGING_TIMER              000682
        CPSW_ALE_NXT_HDR       00000000    IP_NXT_HDR3                  00
                                           IP_NXT_HDR2                  00
                                           IP_NXT_HDR1                  00
                                           IP_NXT_HDR0                  00
        CPSW_ALE_TBLCTL        00000000    TABLEWR                      0
                                           TABLEIDX                     0
        CPSW_ALE_TBLW2         00000000    TABLEWRD2                    00
        CPSW_ALE_TBLW1         10002476
        CPSW_ALE_TBLW0         25A1DA4D
        CPSW_Iy_ALE_PORTCTL0_y 00000003    Iy_REG_P0_BCAST_LIMIT        00
                                           Iy_REG_P0_MCAST_LIMIT        00
                                           Iy_REG_P0_DROP_DOUBLE_VLAN   0
                                           Iy_REG_P0_DROP_DUAL_VLAN     0
                                           Iy_REG_P0_MACONLY_CAF        0
                                           Iy_REG_P0_DIS_PAUTHMOD       0
                                           Iy_REG_P0_MACONLY            0
                                           Iy_REG_P0_TRUNKEN            0
                                           Iy_REG_P0_TRUNKNUM           0
                                           Iy_REG_P0_MIRROR_SP          0
                                           Iy_REG_P0_NO_SA_UPDATE       0
                                           Iy_REG_P0_NO_LEARN           0
                                           Iy_REG_P0_VID_INGRESS_CHECK  0
                                           Iy_REG_P0_DROP_UN_TAGGED     0
                                           Iy_REG_P0_PORTSTATE          Forwarding
        CPSW_ALE_UVLAN_MEMBER  00000000    UVLAN_MEMBER_LIST            0
        CPSW_ALE_UVLAN_URCAST  00000000    UVLAN_UNREG_MCAST_FLOOD_MASK 0
        CPSW_ALE_UVLAN_RMCAST  00000000    UVLAN_REG_MCAST_FLOOD_MASK   0
        CPSW_ALE_UVLAN_UNTAG   00000000    UVLAN_FORCE_UNTAGGED_EGRESS  0
        CPSW_ALE_STAT_DIAG     00000000    PBCAST_DIAG                  0
                                           PORT_DIAG                    0
                                           STAT_DIAG                    Disabled
        CPSW_ALE_OAM_LB_CTRL   00000000    OAM_LB_CTRL                  0
        CPSW_ALE_MSK_MUX0      00000003    VLAN_MASK_MUX_0              3
        CPSW_Ix_ALE_MSK_MUXx   00000000    Ix_REG_VLAN_MASK_MUX_x       0
        CPSW_ALE_EGRESSOP      00000000    EGRESS_OP                    00
                                           EGRESS_TRK                   0
                                           TTL_CHECK                    0
                                           DEST_PORTS                   0
        CPSW_ALE_POLICECFG0    00000000    PORT_MEN                     0
                                           TRUNKID                      0
                                           PORT_NUM                     0
                                           PRI_MEN                      0
                                           PRI_VAL                      0
                                           ONU_MEN                      0
                                           ONU_INDEX                    0
        CPSW_ALE_POLICECFG1    00000000    DST_MEN                      0
                                           DST_INDEX                    0
                                           SRC_MEN                      0
                                           SRC_INDEX                    0
        CPSW_ALE_POLICECFG2    00000000    OVLAN_MEN                    0
                                           OVLAN_INDEX                  0
                                           IVLAN_MEN                    0
                                           IVLAN_INDEX                  0
        CPSW_ALE_POLICECFG3    00000000    ETHERTYPE_MEN                0
                                           ETHERTYPE_INDEX              0
                                           IPSRC_MEN                    0
                                           IPSRC_INDEX                  0
        CPSW_ALE_POLICECFG4    00000000    IPDST_MEN                    0
                                           IPDST_INDEX                  0
        CPSW_ALE_POLICECFG6    00000000
        CPSW_ALE_POLICECFG7    00000000
        CPSW_ALE_POLICETBLCTL  00000000    WRITE_ENABLE                 0
                                           POL_TBL_IDX                  0
        CPSW_ALE_POLICECONTROL 00000000    POLICING_EN                  0
                                           RED_DROP_EN                  0
                                           YELLOW_DROP_EN               0
                                           YELLOWTHRESH                 ?
                                           POLMCHMODE                   ?
                                           PRIORITY_THREAD_EN           0
                                           MAC_ONLY_DEF_DIS             0
        CPSW_ALE_POLICETESTCTL 00000000    POL_CLRALL_HIT               0
                                           POL_CLRALL_REDHIT            0
                                           POL_CLRALL_YELLOWHIT         0
                                           POL_CLRSEL_ALL               0
                                           POL_TEST_IDX                 0
        CPSW_ALE_POLICEHSTAT   00000000    POL_HIT                      0
                                           POL_REDHIT                   0
                                           POL_YELLOWHIT                0
        CPSW_ALE_THREADMAPDEF  00008005    DEFTHREAD_EN                 1
                                           DEFTHREADVAL                 5
        CPSW_ALE_THREADMAPCTL  00000000    CLASSINDEX                   0
        CPSW_ALE_THREADMAPVAL  00000000    THREAD_EN                    0
                                           THREADVAL                    0
    

    What is promisc mode ?

    Open Questions:

    1. WhyCPSW2G is receiving broadcasted and multicast ethernet packets when ALE only have 1 unicast entry in Lookup Table?
    2. How can I block these unwanted broadcast and multicast ethernet packets?



    Looking forward to the response.

    Best Regards,
    Hasan

  • Hi,

    Please refer to below, copy all frames to Host is usually called as promisc mode.
    From above Log I can see capture is not enabled.


    Can you confirm, is above register dump is taken while CPSW accepting Broadcast & Multicast MAC address packets? If not, can you capture during issue scenario and share with us.
    Also, can you please dump ALE table and share with us.

    Please refer to below FAQ for dumping ALE table.
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1204394/faq-tda4vm-how-to-print-the-ale-table-for-cpsw-in-tda4-dra8-devices

    Best Regards,
    Sudheer

  • Hi Sudheer,

    Yes, I confirm that the register dump is captured during the scenario when I was receiving all the multicast and broadcast ethernet packets. Although there was only one entry in the ALE table.

    The ALE table dump is as follows:

      0: Address: 247625a1da4d, Port: 000 Se=0 Bl=0 TOUCH=0 AGE=0 TRUNK=0 RAW:[0 10002476 25a1da4d]
    
    
    
    
    63 Free Entries

    Open Questions:

    1. WhyCPSW2G is receiving broadcasted and multicast ethernet packets when ALE only have 1 unicast entry in Lookup Table?
    2. How can I block these unwanted broadcast and multicast ethernet packets?

    Looking forward to the response.

    Best regards,
    Hasan

  • Hi, 

    I don't think any other possibility for this. 

    Let me check internally and get back to you soon. 

    Best Regards, 

    Sudheer

  • Hi Sudheer,

    I am looking forward to hearing back from you about the open questions.

    Best regards,
    Hasan

  • Hi,

    From Ingress Filtering and Lookup processes in TRM it will accept all multicast & Broadcast packets.

    12.2.2.4.6.1.17.1 Ingress Filtering Process
    12.2.2.4.6.1.17.1 lookup Process

    Let me confirm once with IP team and update you.

    Best Regards,
    Sudheer

  • Hi,

    Can you configure ALE in VLAN Aware mode in below and check whether you are receiving Multicast & Broadcast packet?

    aleCfg->vlanCfg.aleVlanAwareMode = BTRUE;



    Best Regards,
    Sudheer

  • Hi Sudheer,

    If I use ALE_VLAN_AWARE: ENABLE, and change the following:

                    * Set UVLAN_MEMBER_LIST of CPSW_ALE_UVLAN_MEMBER Register to 3
                    * Set UVLAN_UNREG_MCAST_FLOOD_MASK of CPSW_ALE_UVLAN_URCAST Register to 0
                    * Set UVLAN_REG_MCAST_FLOOD_MASK of CPSW_ALE_UVLAN_RMCAST Register to 1

    I can filter the multicast ethernet packets based on ALE Look Up Table but still I am receiving broadcast ethernet packets, although broadcast MAC address is not in the ALE Look Up table. 

    The open questions are still need to be clarified:
    1. WhyCPSW2G is receiving broadcasted and multicast ethernet packets when ALE only have 1 unicast entry in Lookup Table?
    2. How can I block these unwanted broadcast and multicast ethernet packets in ALE_VLAN_AWARE: DISABLE?

    Best Regards,
    Hasan

  • Hi,

    I can filter the multicast ethernet packets based on ALE Look Up Table but still I am receiving broadcast ethernet packets, although broadcast MAC address is not in the ALE Look Up table. 

    Yes, as per your configuration Multicast will be filtered where as Broadcast will accept.
    Please refer to Lookup Process.

    If I use ALE_VLAN_AWARE: ENABLE, and change the following:

                    * Set UVLAN_MEMBER_LIST of CPSW_ALE_UVLAN_MEMBER Register to 3
                    * Set UVLAN_UNREG_MCAST_FLOOD_MASK of CPSW_ALE_UVLAN_URCAST Register to 0
                    * Set UVLAN_REG_MCAST_FLOOD_MASK of CPSW_ALE_UVLAN_RMCAST Register to 1

    Please Update Unknown VLAN configuration to 0.

    UVLAN_MEMBER_LIST -> 0
    UVLAN_UNREG_MCAST_FLOOD_MASK -> 0
    UVLAN_REG_MCAST_FLOOD_MASK -> 0

    With above you will not receive any packets without ALE entry.

    WhyCPSW2G is receiving broadcasted and multicast ethernet packets when ALE only have 1 unicast entry in Lookup Table?

    It is because VLAN AWARE is disabled.
    As per below unknown VLAN values will make Broadcast & Multicast to reach to Host Port.


    How can I block these unwanted broadcast and multicast ethernet packets in ALE_VLAN_AWARE: DISABLE?

    It May not be possible with VLAN AWARE DISBALE.


    Also, can you please confirm are you sending Tagged or un-tagged packet (Multicast & Broadcast) to CPSW2G?

    Best Regards,
    Sudheer

  • Hi Sudheer,

    I am sending un-tagged packet (Multicast & Broadcast) to CPSW2G.

    Also, thank you for the clarification that it is not possible to stop receiving unnecessary broadcast and multicast ethernet packets in ALE_VLAN_AWARE: DISABLE.

    Coming back to the discussion:

    • Please Update Unknown VLAN configuration to 0.

      UVLAN_MEMBER_LIST -> 0
      UVLAN_UNREG_MCAST_FLOOD_MASK -> 0
      UVLAN_REG_MCAST_FLOOD_MASK -> 0

      With above you will not receive any packets without ALE entry.

    If I change UVLAN_MEMBER_LIST -> 0 then according to the rules, I won't receive unicast, registered multicast as they both perform logical AND operation with the vlan_member_list before going to Egress process.


    Best Regards,
    Hasan

  • Hi,

    If I change UVLAN_MEMBER_LIST -> 0 then according to the rules, I won't receive unicast, registered multicast as they both perform logical AND operation with the vlan_member_list before going to Egress process.

    You have to add ALE entries with super is set. then vlan_member_list will be ignored.
    It will just forward based on port_number/port_mask.


    Best Regards,
    Sudheer

  • Hi Sudheer,

    For Multicast, I will make entries with super bit set. But what about Unicast, there is no super bit in Unicast Entry?

    Best Regards,
    Hasan

  • Hi,

    For Multicast, I will make entries with super bit set. But what about Unicast, there is no super bit in Unicast Entry?

    Have you checked, Unicast packets are dropped when " UVLAN_MEMBER_LIST -> 0" ?

    Best Regards,
    Sudheer

  • Hi Sudheer,

    Yes, I have checked unicast packets are dropped in this case.
    Best regards,
    Hasan

  • Hi,

    If so, you have to keep UVLAN_MEMBER_LIST as 3.
    It will accept the Broadcast frames.

    If you want to avoid the Broadcast you may need to Add ALE entry, also need to enable policer classification & forward to different flow which is not mapped to any Descriptors. It will drop all Broadcast packets.

    Or you can check in S/W and discard the packet based on need or not?

    May I know why you don't want Broadcast to be received at all? May I know use-case.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    We have no plans to use Policers just to stop receiving Broadcast packets. Also, in the proposed workaround it will be additional load on UDMA.

    I also have a workaround, which is blocking the broadcast packets. I make an entry in ALE table for broadcast packets by setting the registers as follows:

    CPSW_ALE_TBLW2 = 0x00000000;
    CPSW_ALE_TBLW1 = 0x1000FFFF;
    CPSW_ALE_TBLW0 = 0xFFFFFF;
    Correct me if my understanding is wrong: In this case an entry is made into the ALE table considering the MAC address is multicast and port mask 0.

    Is it the expected procedure to block muticast MAC Address? If not, what are the steps to follow?

    Best Regards,
    Hasan 
  • Hi,

    Yes, you may block by adding ALE entry with port mask as zero.

    CPSW_ALE_TBLW2 = 0x00000002;
    CPSW_ALE_TBLW1 = 0x1000FFFF;
    CPSW_ALE_TBLW0 = 0xFFFFFF;
    Correct me if my understanding is wrong: In his case an entry is made into the ALE table considering the MAC address is unicast and is blocked.

    Instead of writing ALE registers, Use Enet IOCTL for addition of Broadcast MAC as in enet examples.
    User Port Mask as Zeros & secure bit set to 1.

    It will block Broadcast as ALE Drop as port_mask is 0.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    Is it the correct way for dropping broadcast packets by making a muticast entry in the ALE table with port mask value 0?

    Best Regards,
    Hasan


  • Hi,

    Is it the correct way for dropping broadcast packets by making a muticast entry in the ALE table with port mask value 0?

    We can do it if needed.

    But, note that it will not allow broadcast packet at all.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    I have a few more general questions which are as follows:

    1. What is PORT_NUMBER and PORT_MASK in case of Unicast Address Table Entry and Multicast Address Table Entry ?
    2. What is the difference between PORT_MASK  and PORT_NUMBER ? Can you provide an explanation on how to use these fields?
    3. What value am I supposed to have in PORT_NUMBER and PORT_MASK for Unicast and Multicast Address Table Entry in case of using CPSW2G?
    4. Is the PORT_NUMBER and PORT_MASK different in case of transmission and reception. If, yes, can you explain more about it?
    5. How CPSW_ALE_UVLAN_MEMBER represents port of CPSW2G? Does it also represents both host port and MAC port ?
    6. Why ethernet packets transmitted to unreg multicast destination are dropped ?

    I have already went through the TRM several times and it is not clear from there, that's why I raised these questions.

    Best Regards,
    Hasan

  • Hi,

    • What is PORT_NUMBER and PORT_MASK in case of Unicast Address Table Entry and Multicast Address Table Entry ?
    • What is the difference between PORT_MASK  and PORT_NUMBER ? Can you provide an explanation on how to use these fields?

    Unicast packet can be sent to one Port on ALE Match, The PORT_NUM is one to whom it has to forward the matched Unicast.

    In case of Multicast it can forwarded to multiple Ports so, instead of PORT_NUM here PORT_MASK is used and each corresponding to Port number to whom the packet has to be forwarded.

    What value am I supposed to have in PORT_NUMBER and PORT_MASK for Unicast and Multicast Address Table Entry in case of using CPSW2G?

    In case of CPSW2G PORT_NUM can be 0 (Host Port) or 1 (External Port).
    PORT_MASK can be 0x3 (Host & External Port) or 0x1 (Forward to Host Port)  or 0x0 (No forwarding)

    Is the PORT_NUMBER and PORT_MASK different in case of transmission and reception. If, yes, can you explain more about it?

    No, it will be same in case of Tx & Rx.

    How CPSW_ALE_UVLAN_MEMBER represents port of CPSW2G? Does it also represents both host port and MAC port ?

    It is for the packet seen at ALE. It could be either from Host Port or from External Port.

    Why ethernet packets transmitted to unreg multicast destination are dropped ?

    Please refer to Ingress process mentioned above as VLAN is enabled it will use unregistered VLAN masks for ingress & lookup process.

    Please refer to TRM for more details about ALE & CPSW.

    Best Regards,
    Sudheer

  • Hib  Sudheer,

    Thank you for the information.


    Hasan : ethernet packets transmitted to unreg multicast destination are dropped ?

    Sudheer: Please refer to Ingress process mentioned above as VLAN is enabled it will use unregistered VLAN masks for ingress & lookup process.


    I have the following values of registers while transmitting unreg multicast:

    CPSW_ALE_UVLAN_MEMBER 00000003 UVLAN_MEMBER_LIST 3
    CPSW_ALE_UVLAN_URCAST 00000003 UVLAN_UNREG_MCAST_FLOOD_MASK 3

    Do I have to make an entry for this unreg multicast in the ALE table before transmission and then delete the entry after the transmision is complete? If not,
    what is the normal procedure to transmit unreg multicast ethernet packets?

    Best regards,
    Hasan

  • Hi,

    I have the following values of registers while transmitting unreg multicast:

    CPSW_ALE_UVLAN_MEMBER 00000003 UVLAN_MEMBER_LIST 3
    CPSW_ALE_UVLAN_URCAST 00000003 UVLAN_UNREG_MCAST_FLOOD_MASK 3

    Do I have to make an entry for this unreg multicast in the ALE table before transmission and then delete the entry after the transmision is complete? If not,
    what is the normal procedure to transmit unreg multicast ethernet packets?

    Above will allow unregister Multicast packet without ALE.

    You suppose to keep "CPSW_ALE_UVLAN_URCAST to 0" if you don't want unregistered to be allowed.

    You have to add ALE entry for any Multicast to be allowed/transmit. Then it will become known multicast entry.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    I was trying different combinations of CPSW_ALE_UVLAN_URCAST. 

    Thank you for the information. I will add the unknown Multicast entry to the table for transmission and delete it afterwards to not receive anything from this Multicast address afterwards.

    Sudheer: You have to add ALE entry for any Multicast to be allowed/transmit. Then it will become known multicast entry.

    Is this the normal procedure to transmit to unreg Multicast destination?


    Best regards,
    Hasan

  • Hi,

    Sudheer: You have to add ALE entry for any Multicast to be allowed/transmit. Then it will become known multicast entry.

    Is this the normal procedure to transmit to unreg Multicast destination?

    Yes, As it is CPSW2G you can't flood anywhere other than Host Port.

    As you don't unknown multi to reach Host I recommended to make "CPSW_ALE_UVLAN_URCAST to 0" . Then only Known entries will be accepted.

    If you want to handle any, need to add ALE entry for the same.

    Its all depends on the use-case. How we want out system where to accept all multicast or only registered one.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    1. Can you please explain about CPSW_ALE_UVLAN_MEMBER? What does different values (like 0, 1, 2, 3) represents?
    2. How does CPSW_ALE_UVLAN_MEMBER is used in case of unicast, unknown unreg multicast, unknown reg multicast and broadcast?

    Looking forward to hearing back from you.

    Best Regards,
    Hasan

  • Hi,

    How does CPSW_ALE_UVLAN_MEMBER is used in case of unicast, unknown unreg multicast, unknown reg multicast and broadcast?

    Please refer to lookup process.


    Unicast & Broadcast will use "CPSW_ALE_UVLAN_MEMBER", where as Multicast will use mcast_mask AND member list.

    CPSW_ALE_UVLAN_MEMBER can be 0x3 (Host & External Port) or 0x1 (Host Port)  or 0x0 (No port is member for unknown VLAN , it will drop unknown)

    Best Regards,
    Sudheer

  • Hi Sudheer,

    Thank you for the providing detailed information about plethora of questions asked.

    I have one last question and afterward we can close this ticket.

    Question 1: Based on the question asked about broadcast ethernet packet that CPSW2G receives all the broadcast ethernet packets even through there is not ALE entry for Broadcast ethernet packets, does TI have plans to update TRM in future ?

    Question 2: Does TI also have plans to include more information about MAC filtering in ALE_VLAN_AWARE: Disabled?

    Looking forward to hearing back from you.

    Best Regards,
    Hasan

  • Hi,

    Question 1: Based on the question asked about broadcast ethernet packet that CPSW2G receives all the broadcast ethernet packets even through there is not ALE entry for Broadcast ethernet packets, does TI have plans to update TRM in future ?

    Question 2: Does TI also have plans to include more information about MAC filtering in ALE_VLAN_AWARE: Disabled?

    Above will be already addressed in TRM under Ingress Process, Lookup process.
    Above captures are from TRM only.

    Best Regards,
    Sudheer