IPMC 测试

 

拓扑图
                            |-----|--------P2
      vlan 2  P1-----| dut |--------P3    vlan 3
                            |-----|--------P4

测试步骤
1.创建vlan2 并加入端口P1.
2.创建vlan3 并加入端口P2,P3,P4.
3.创建IPMC ENTRY, sip=src ip, multicast ip=dst ip
4.配置P2 P3 P4 为vlan 3 的 IPMC egress 端口
5.创建vlan 3 对应的L3 interface 和IPMC replication entry
6.enable IPMC. 向P1 口发送sip=src ip, dip=mcast, dmac= int vlan3 的MAC地址
期望结果
P2 P3 P4 能够收到组播报文。

src_ip  =   192.168.1.11
dst_ip  =   224.0.1.2
src_mac = 00:00:01:00:00:02
dst_mac = 01:00:5E:00:01:02
router_mac = 00:00:01:00:00:01
ipmc_index = 0x1
1,2 省略
3 创建组播组 bcm_multicast_create(unit, BCM_MULTICAST_TYPE_L3, &new_group)
  初始化IPMC结构体并加入到IPMC ENTRY
   bcm_ipmc_addr_t ipmc_addr
   ipmc_addr.v 0x1
            .ts 0x0
            .vid 2
            .port_tgid 1
            .flags 0
            .s_ip_addr src_mac
            .mc_ip_addr dst_mac
           .group  new_group

 bcm_ipmc_add(unit, &ipmc_addr)

4. for (port = P2 to P4) {
     bcm_ipmc_egress_port_set(unit, port, src_mac, 0, 3, ttl)
   }
5. bcm_l3_intf_t intf_vlan3
     intf_vlan3.l3a_mac_addr router_mac
               .l3a_vid  3
   bcm_l3_intf_create(unit,intf_vlan3)
   得到intf_id = intf_vlan3.l3a_intf_id
   
   配置replication entry
   for(port = P2 to P4) {
     bcm_multicast_egress_add(unit, new_group, port, intf_id)
   }

6. bcm_ipmc_enable (true) 向P1 口发送
   da = dst_mac
   sa = src_mac
   vid = 2
   src ip = src_ip
   dst ip = dst_ip
  的IP 报文。

你可能感兴趣的:(交换技术)