Example for Configuring BGP4+ 6PE
Networking Requirements
BGP4+ 6PE enables isolated IPv6 networks to communicate over IPv4/MPLS networks.
As shown in Figure 9-36, there is no direct link between CE1 and CE2. However, CE1 and CE2 are both connected to the IPv4/MPLS network of AS200. CE1 and CE2 are expected to communicate through the IPv4/MPLS network. To meet this requirement, a 6PE peer relationship is set up between PE1 and PE2. 6PE enables a PE to send IPv6 routes learnt from its connected CE to its peer using MP-BGP and forward IPv6 data on the LDP LSP.
Configuration Roadmap
The configuration roadmap is as follows:
Configure OSPF between PE1 and PE2 to enable them to learn IP addresses of the peer loopback interfaces.
Enable MPLS and MPLS LDP on the backbone network so that LDP LSPs can be established between the PE devices.
Configure a 6PE peer relationship between PE1 and PE2.
Configure BGP4+ between PE and CE devices so that they can exchange IPv6 route information.
Procedure
- Configure IPv4 addresses and IPv6 addresses for interfaces. The configuration procedure is not provided here.
- Configure OSPF between PE1 and PE2 so that they can learn the routes to the peer loopback interfaces. For details about the configuration procedure, see Configuration Files.
- Enable MPLS and MPLS LDP on the backbone network so that
LDP LSPs can be established between the PE devices.
# Configure PE1.
[~PE1] mpls lsr-id 2.2.2.2
[*PE1] mpls
[*PE1-mpls] quit
[*PE1] mpls ldp
[*PE1-mpls-ldp] quit
[*PE1] interface 10ge 1/0/2
[*PE1-10GE1/0/2] mpls
[*PE1-10GE1/0/2] mpls ldp
[*PE1-10GE1/0/2] quit
[*PE1] commit
# Configure PE2.
[~PE2] mpls lsr-id 3.3.3.3
[*PE2] mpls
[*PE2-mpls] quit
[*PE2] mpls ldp
[*PE2-mpls-ldp] quit
[*PE2] interface 10ge 1/0/2
[*PE2-10GE1/0/2] mpls
[*PE2-10GE1/0/2] mpls ldp
[*PE2-10GE1/0/2] quit
[*PE2] commit
After the configurations are complete, run the display mpls ldp session command on either PE. The command output shows that an LDP session is set up between PEs.
[~PE1] display mpls ldp session
LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM) A '*' before a session means the session is being deleted. -------------------------------------------------------------------------- PeerID Status LAM SsnRole SsnAge KASent/Rcv -------------------------------------------------------------------------- 3.3.3.3:0 Operational DU Passive 000:00:35 143/199 -------------------------------------------------------------------------- TOTAL: 1 Session(s) Found.
- Configure a 6PE peer relationship.
# Configure PE1.
[~PE1] bgp 200
[*PE1-bgp] peer 3.3.3.3 as-number 200
[*PE1-bgp] peer 3.3.3.3 connect-interface LoopBack0
[*PE1-bgp] ipv6-family unicast
[*PE1-bgp-af-ipv6] peer 3.3.3.3 enable
[*PE1-bgp-af-ipv6] peer 3.3.3.3 label-route-capability
[*PE1-bgp-af-ipv6] quit
[*PE1-bgp] quit
[*PE1] commit
# Configure PE2.
[~PE2] bgp 200
[*PE2-bgp] peer 2.2.2.2 as-number 200
[*PE2-bgp] peer 2.2.2.2 connect-interface LoopBack0
[*PE2-bgp] ipv6-family unicast
[*PE2-bgp-af-ipv6] peer 2.2.2.2 enable
[*PE2-bgp-af-ipv6] peer 2.2.2.2 label-route-capability
[*PE2-bgp-af-ipv6] commit
[*PE2-bgp-af-ipv6] quit
[*PE2-bgp] quit
[*PE2] commit
# After the configurations are complete, run the display bgp ipv6 peer command on either PE. The command output shows that a 6PE peer relationship is set up between PEs.
[~PE1] display bgp ipv6 peer
BGP local router ID : 2.2.2.2
Local AS number : 200
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
3.3.3.3 4 200 1248 1342 0 18:06:28 Established 1
- Configure BGP4+ between PE and CE devices so that they
can exchange IPv6 route information.
# Configure CE1.
[~CE1] bgp 100
[*CE1-bgp] router-id 5.5.5.5
[*CE1-bgp] peer 1::2 as-number 200
[*CE1-bgp] ipv6-family unicast
[*CE1-bgp-af-ipv6] peer 1::2 enable
[*CE1-bgp-af-ipv6] network 5::5 128
[*CE1-bgp-af-ipv6] commit
[~CE1-bgp-af-ipv6] quit
[~CE1-bgp] quit
# Configure PE1.
[~PE1] bgp 200
[*PE1-bgp] peer 1::1 as-number 100
[*PE1-bgp] ipv6-family unicast
[*PE1-bgp-af-ipv6] peer 1::1 enable
[*PE1-bgp-af-ipv6] commit
[~PE1-bgp-af-ipv6] quit
[~PE1-bgp] quit
# Configure PE2.
[~PE2] bgp 200
[*PE2-bgp] peer 2::1 as-number 300
[*PE2-bgp] ipv6-family unicast
[*PE2-bgp-af-ipv6] peer 2::1 enable
[*PE2-bgp-af-ipv6] commit
[~PE2-bgp-af-ipv6] quit
[~PE2-bgp] quit
# Configure CE2.
[~CE2] bgp 300
[*CE2-bgp] router-id 6.6.6.6
[*CE2-bgp] peer 2::2 as-number 200
[*CE2-bgp] ipv6-family unicast
[*CE2-bgp-af-ipv6] peer 2::2 enable
[*CE2-bgp-af-ipv6] network 6::6 128
[*CE2-bgp-af-ipv6] commit
[~CE2-bgp-af-ipv6] quit
[~CE2-bgp] quit
After the configurations are complete, run the display bgp ipv6 peer command on a PE or CE. The command output shows that a BGP peer relationship is set up between PE and CE devices.
# Take the display on PE1 as an example:
[~PE1] display bgp ipv6 peer
BGP local router ID : 2.2.2.2 Local AS number : 100 Total number of peers : 2 Peers in established state : 2 Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 3.3.3.3 4 200 59 60 0 00:35:46 Established 1 1::1 4 100 40 45 0 00:06:16 Established 1
- Verify the configuration.
After the preceding configurations are complete, CEs can learn the routes to the peer loopback interfaces and ping each other.
# Take CE1 as an example:
[~CE1] display ipv6 routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route --------------------------------------------------------------------------- Routing Table : _public_ Destinations : 8 Routes : 8 Destination : ::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.0 PrefixLength : 104 NextHop : ::FFFF:127.0.0.0 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.0 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : 1:: PrefixLength : 64 NextHop : 1::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : 10GE1/0/1 Flags : D Destination : 1::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : 10GE1/0/1 Flags : D Destination : 5::5 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : LoopBack1 Flags : D Destination : 6::6 PrefixLength : 128 NextHop : 1::2 Preference : 255 Cost : 0 Protocol : EBGP RelayNextHop : 1::2 TunnelID : 0x0 Interface : 10GE1/0/1 Flags : RD Destination : FE80:: PrefixLength : 10 NextHop : :: Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : NULL0 Flags : D
<CE1> ping ipv6 -a 5::5 6::6 PING 6::6 : 56 data bytes, press CTRL_C to break Reply from 6::6 bytes=56 Sequence=1 hop limit=62 time=8 ms Reply from 6::6 bytes=56 Sequence=2 hop limit=62 time=2 ms Reply from 6::6 bytes=56 Sequence=3 hop limit=62 time=4 ms Reply from 6::6 bytes=56 Sequence=4 hop limit=62 time=3 ms Reply from 6::6 bytes=56 Sequence=5 hop limit=62 time=4 ms ---6::6 ping statistics--- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max=2/4/8 ms
After 6PE is configured, IPv6 networks where CE1 and CE2 reside can communicate through the IPv4/MPLS backbone network.
Configuration Files
Configuration file of CE1
#
sysname CE1
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address 1::1/64
#
interface LoopBack1
ipv6 enable
ipv6 address 5::5/128
#
bgp 100
router-id 5.5.5.5
peer 1::2 as-number 200
#
ipv4-family unicast
#
ipv6-family unicast
network 5::5 128
peer 1::2 enable
#
return
Configuration file of PE1
#
sysname PE1
#
mpls lsr-id 2.2.2.2
#
mpls
#
mpls ldp
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address 1::2/64
#
interface 10GE1/0/2
undo portswitch
ip address 10.0.0.1 255.255.255.252
mpls
mpls ldp
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 1::1 as-number 100
#
ipv4-family unicast
peer 3.3.3.3 enable
#
ipv6-family unicast
peer 3.3.3.3 enable
peer 3.3.3.3 label-route-capability
peer 1::1 enable
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.0.0.0 0.0.0.3
#
return
Configuration file of PE2
#
sysname PE2
#
mpls lsr-id 3.3.3.3
#
mpls
#
mpls ldp
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address 2::2/64
#
interface 10GE1/0/2
undo portswitch
ip address 10.0.0.2 255.255.255.252
mpls
mpls ldp
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 2::1 as-number 300
#
ipv4-family unicast
peer 2.2.2.2 enable
#
ipv6-family unicast
peer 2.2.2.2 enable
peer 2.2.2.2 label-route-capability
peer 2::1 enable
#
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.0.0.0 0.0.0.3
#
return
Configuration file of CE2
#
sysname CE2
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address 2::1/64
#
interface LoopBack1
ipv6 enable
ipv6 address 6::6/128
#
bgp 300
router-id 6.6.6.6
peer 2::2 as-number 200
#
ipv4-family unicast
#
ipv6-family unicast
network 6::6 128
peer 2::2 enable
#
return