• Yonglong Liu's avatar
    net: hns: Fix ping failed when use net bridge and send multicast · 6adafc35
    Yonglong Liu authored
    Create a net bridge, add eth and vnet to the bridge. The vnet is used
    by a virtual machine. When ping the virtual machine from the outside
    host and the virtual machine send multicast at the same time, the ping
    package will lost.
    
    The multicast package send to the eth, eth will send it to the bridge too,
    and the bridge learn the mac of eth. When outside host ping the virtual
    mechine, it will match the promisc entry of the eth which is not expected,
    and the bridge send it to eth not to vnet, cause ping lost.
    
    So this patch change promisc tcam entry position to the END of 512 tcam
    entries, which indicate lower priority. And separate one promisc entry to
    two: mc & uc, to avoid package match the wrong tcam entry.
    Signed-off-by: default avatarYonglong Liu <liuyonglong@huawei.com>
    Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6adafc35
hns_dsaf_main.c 92.3 KB