Example: Configuring VSI-based IGMP snooping
Network configuration
As shown in Figure 18:
There are three sites in VPN a. They are connected through the VPLS network.
In VLAN 100, Source in Site 1, Host A in Site 2, and Host B in Site 3 communicate with CE 1, CE 2, and CE 3, respectively.
Configure the devices so that Host A and Host B can receive multicast data from Source.
Figure 18: Network diagram
Table 6: Interface and IP address assignment
Device | Interface | IP address | Device | Interface | IP address |
---|---|---|---|---|---|
PE 1 | Vlan-int101 | 10.110.1.1/24 | PE 2 | Loop0 | 2.2.2.2/32 |
PE 1 | Vlan-int102 | 10.110.2.1/24 | PE 3 | Loop0 | 10.110.2.2/24 |
PE 1 | Loop0 | 1.1.1.1/32 | PE 3 | Loop0 | 10.110.3.2/24 |
PE 2 | Vlan-int101 | 10.110.1.2/24 | PE 3 | Loop0 | 3.3.3.3/32 |
PE 2 | Vlan-int103 | 10.110.3.1/24 |
Procedure
Assign an IP address and subnet mask to each interface on the VPLS network, as shown in Table 6. (Details not shown.)
Configure OSPF on the switches on the VPLS network. (Details not shown.)
Configure CE 1:
# Enable the IGMP snooping feature.
<CE1> system-view [CE1] igmp-snooping [CE1-igmp-snooping] quit
# Create VLAN 100, and assign HundredGigE 1/0/2 to VLAN 100.
[CE1] vlan 100 [CE1-vlan100] port hundredgige 1/0/2
# In VLAN 100, enable IGMP snooping, and enable dropping unknown multicast data.
[CE1-vlan100] igmp-snooping enable [CE1-vlan100] igmp-snooping drop-unknown
# Configure HundredGigE 1/0/1 as a trunk port, and assign it to VLAN 100.
[CE1] interface hundredgige 1/0/1 [CE1-HundredGigE1/0/1] port link-type trunk [CE1-HundredGigE1/0/1] port trunk permit vlan 100 [CE1-HundredGigE1/0/1] quit
# In VLAN 100, enable the IGMP snooping querier.
[CE1-vlan100] igmp-snooping querier
# In VLAN 100, specify 192.168.1.100 as the source IP address of IGMP general queries and IGMP group-specific queries.
[CE1-vlan100] igmp-snooping general-query source-ip 192.168.1.100 [CE1-vlan100] igmp-snooping special-query source-ip 192.168.1.100
Configure CE 2:
# Enable the IGMP snooping feature.
<CE2> system-view [CE2] igmp-snooping [CE2-igmp-snooping] quit
# Create VLAN 100, and assign HundredGigE 1/0/2 to VLAN100.
[CE2] vlan 100 [CE2-vlan100] port hundredgige 1/0/2
# In VLAN 100, enable IGMP snooping, and enable dropping unknown multicast data.
[CE2-vlan100] igmp-snooping enable [CE2-vlan100] igmp-snooping drop-unknown
# Configure HundredGigE 1/0/1 as a trunk port, and assign it to VLAN 100.
[CE2] interface hundredgige 1/0/1 [CE2-HundredGigE1/0/1] port link-type trunk [CE2-HundredGigE1/0/1] port trunk permit vlan 100 [CE2-HundredGigE1/0/1] quit
Configure CE 3:
# Enable the IGMP snooping feature.
<CE3> system-view [CE3] igmp-snooping [CE3-igmp-snooping] quit
# Create VLAN 100, and assign HundredGigE 1/0/2 to VLAN100.
[CE3] vlan 100 [CE3-vlan100] port hundredgige 1/0/2
# In VLAN 100, enable IGMP snooping, and dropping unknown multicast data.
[CE3-vlan100] igmp-snooping enable [CE3-vlan100] igmp-snooping drop-unknown
# Configure HundredGigE 1/0/1 as a trunk port, and assign it to VLAN 100.
[CE3] interface hundredgige 1/0/1 [CE3-HundredGigE1/0/1] port link-type trunk [CE3-HundredGigE1/0/1] port trunk permit vlan 100 [CE3-HundredGigE1/0/1] quit
Configure PE 1:
# Configure the LSR ID as 1.1.1.1 for the local node, and enable L2VPN and LDP.
<PE1> system-view [PE1] mpls lsr-id 1.1.1.1 [PE1] l2vpn enable [PE1] mpls ldp [PE1-ldp] quit
# Enable MPLS and LDP on VLAN-interface 101.
[PE1] interface vlan-interface 101 [PE1-Vlan-interface101] mpls enable [PE1-Vlan-interface101] mpls ldp enable [PE1-Vlan-interface101] quit
# Enable MPLS and LDP on VLAN-interface 102.
[PE1] interface vlan-interface 102 [PE1-Vlan-interface102] mpls enable [PE1-Vlan-interface102] mpls ldp enable [PE1-Vlan-interface102] quit
# Create a VSI named aaa, and specify the VSI to establish PWs statically.
[PE1] vsi aaa [PE1-vsi-aaa] pwsignaling static
# Configure PWs for VSI aaa.
[PE1-vsi-aaa-static] peer 2.2.2.2 pw-id 3 in-label 100 out-label 100 [PE1-vsi-aaa-static-2.2.2.2-3] quit [PE1-vsi-aaa-static] peer 3.3.3.3 pw-id 3 in-label 200 out-label 200 [PE1-vsi-aaa-static-3.3.3.3-3] quit [PE1-vsi-aaa-static] quit [PE1-vsi-aaa] quit
# Bind HundredGigE 1/0/1 to VSI aaa.
[PE1] interface hundredgige 1/0/1 [PE1-HundredGigE1/0/1] service-instance 1 [PE1-HundredGigE1/0/1-srv1] encapsulation s-vid 5 [PE1-HundredGigE1/0/1-srv1] xconnect vsi aaa [PE1-HundredGigE1/0/1-srv1] quit [PE1-HundredGigE1/0/1] quit
# Enable the IGMP snooping feature.
[PE1] igmp-snooping [PE1-igmp-snooping] quit
# Enable IGMP snooping, and enable dropping unknown multicast data for VSI aaa.
[PE1] vsi aaa [PE1-vsi-aaa] igmp-snooping enable [PE1-vsi-aaa] igmp-snooping drop-unknown [PE1-vsi-aaa] quit
Configure PE 2:
# Configure the LSR ID as 2.2.2.2 for the local node, and enable L2VPN and LDP.
<PE2> system-view [PE2] mpls lsr-id 2.2.2.2 [PE2] l2vpn enable [PE2] mpls ldp [PE2-ldp] quit
# Enable MPLS and LDP on VLAN-interface 101.
[PE2] interface vlan-interface 101 [PE2-Vlan-interface101] mpls enable [PE2-Vlan-interface101] mpls ldp enable [PE2-Vlan-interface101] quit
# Enable MPLS and LDP on VLAN-interface 103.
[PE2] interface vlan-interface 103 [PE2-Vlan-interface103] mpls enable [PE2-Vlan-interface103] mpls ldp enable [PE2-Vlan-interface103] quit
# Create a VSI named aaa, and specify the VSI to establish PWs statically.
[PE2] vsi aaa [PE2-vsi-aaa] pwsignaling static
# Configure PWs for VSI aaa.
[PE2-vsi-aaa-static] peer 1.1.1.1 pw-id 3 in-label 100 out-label 100 [PE2-vsi-aaa-static-1.1.1.1-3] quit [PE2-vsi-aaa-static] peer 3.3.3.3 pw-id 3 in-label 300 out-label 300 [PE2-vsi-aaa-static-3.3.3.3-3] quit [PE2-vsi-aaa-static] quit [PE2-vsi-aaa] quit
# Bind HundredGigE 1/0/1 to VSI aaa.
[PE2] interface hundredgige 1/0/1 [PE2-HundredGigE1/0/1] service-instance 1 [PE2-HundredGigE1/0/1-srv1] encapsulation s-vid 5 [PE2-HundredGigE1/0/1-srv1] xconnect vsi aaa [PE2-HundredGigE1/0/1-srv1] quit [PE2-HundredGigE1/0/1] quit
# Enable the IGMP snooping feature.
[PE2] igmp-snooping [PE2-igmp-snooping] quit
# In VSI aaa, enable IGMP snooping, and enable dropping unknown multicast data.
[PE2] vsi aaa [PE2-vsi-aaa] igmp-snooping enable [PE2-vsi-aaa] igmp-snooping drop-unknown [PE2-vsi-aaa] quit
Configure PE 3:
# Configure the LSR ID as 3.3.3.3 for the local node, and enable L2VPN and LDP.
<PE3> system-view [PE3] mpls lsr-id 3.3.3.3 [PE3] l2vpn enable [PE3] mpls ldp [PE3-ldp] quit
# Enable MPLS and LDP on VLAN-interface 102.
[PE3] interface vlan-interface 102 [PE3-Vlan-interface102] mpls enable [PE3-Vlan-interface102] mpls ldp enable [PE3-Vlan-interface102] quit
# Enable MPLS and LDP on VLAN-interface 103.
[PE3] interface vlan-interface 103 [PE3-Vlan-interface103] mpls enable [PE3-Vlan-interface103] mpls ldp enable [PE3-Vlan-interface103] quit
# Create a VSI named aaa, and specify the VSI to establish PWs statically.
[PE3] vsi aaa [PE3-vsi-aaa] pwsignaling static
# Configure PWs for VSI aaa.
[PE3-vsi-aaa-static] peer 1.1.1.1 pw-id 3 in-label 200 out-label 200 [PE3-vsi-aaa-static-1.1.1.1-3] quit [PE3-vsi-aaa-static] peer 2.2.2.2 pw-id 3 in-label 300 out-label 300 [PE3-vsi-aaa-static-2.2.2.2-3] quit [PE3-vsi-aaa-static] quit [PE3-vsi-aaa] quit
# Bind HundredGigE 1/0/1 to VSI aaa.
[PE3] interface hundredgige 1/0/1 [PE3-HundredGigE1/0/1] service-instance 1 [PE3-HundredGigE1/0/1-srv1] encapsulation s-vid 5 [PE3-HundredGigE1/0/1-srv1] xconnect vsi aaa [PE3-HundredGigE1/0/1-srv1] quit [PE3-HundredGigE1/0/1] quit
# Enable the IGMP snooping feature.
[PE3] igmp-snooping [PE3-igmp-snooping] quit
# In VSI aaa, enable IGMP snooping, and enable dropping unknown multicast data.
[PE3] vsi aaa [PE3-vsi-aaa] igmp-snooping enable [PE3-vsi-aaa] igmp-snooping drop-unknown [PE3-vsi-aaa] quit
Verifying the configuration
# Display detailed information about dynamic IGMP snooping group entries for VSI aaa on PE 1.
[PE1] display igmp-snooping group vsi aaa verbose Total 1 entries. VSI aaa: Total 1 entries. (0.0.0.0, 225.0.0.1) Attribute: global port FSM information: dummy Host slots (0 in total): Host ports (1 in total): NPW (Link ID 9) (00:02:24) VLAN pairs (1 in total): Outer VLAN 100 Inner VLAN 0 (00:02:24)
# Display detailed information about dynamic router ports for VSI aaa on PE 1.
[PE1] display igmp-snooping router-port vsi aaa verbose VSI aaa: Router slots (0 in total): Router ports (1 in total): HGE1/0/1 (Link ID 0) (00:01:46) VLAN pairs (1 in total): Outer VLAN 100 Inner VLAN 0 (00:01:46)
# Display detailed information about dynamic IGMP snooping group entries for VSI aaa on PE 2.
[PE2] display igmp-snooping group vsi aaa verbose Total 1 entries. VSI aaa: Total 1 entries. (0.0.0.0, 225.0.0.1) Attribute: global port FSM information: dummy Host slots (0 in total): Host ports (1 in total): NPW (Link ID 8) (00:02:07) VLAN pairs (1 in total): Outer VLAN 100 Inner VLAN 0 (00:02:07)
# Display detailed information about dynamic router ports for VSI aaa on PE 2.
[PE2] display igmp-snooping router-port vsi aaa verbose VSI aaa: Router slots (0 in total): Router ports (1 in total): NPW (Link ID 9) (00:01:26) VLAN pairs (1 in total): Outer VLAN 100 Inner VLAN 0 (00:01:26)
# Display detailed information about dynamic IGMP snooping group entries for VSI aaa on PE 3.
[PE3] display igmp-snooping group vsi aaa verbose Total 1 entries. VSI aaa: Total 1 entries. (0.0.0.0, 225.0.0.1) Attribute: global port FSM information: dummy Host slots (0 in total): Host ports (1 in total): HGE1/0/1 (Link ID 0) (00:02:04) VLAN pairs (1 in total): Outer VLAN 100 Inner VLAN 0 (00:02:04)
# Display detailed information about dynamic router ports for VSI aaa on PE 3.
[PE3] display igmp-snooping router-port vsi aaa verbose VSI aaa: Router slots (0 in total): Router ports (1 in total): NPW (Link ID 9) (00:01:24) VLAN pairs (1 in total): Outer VLAN 100 Inner VLAN 0 (00:01:24)