Archive for June, 2014
1. configure mc-ae chassis-id, and mc-ae-id,
2. configure lacp mode active and system-id,
3. configure the peer-link by ICC (inter-chassis communication protocol)
do anything, that will make the downstream sw think it is connected to one LACP switch, by enabling the same lacp system-id and priority, also weight.
To make this happen, we need a layer 3 communication. i.e. peer-keepalive session.
1. Create mlag truck group vlan
a. Vlan 4094
i. Trunk group mc-lag
2. Configure l3 interface
a. Int vlan 4094
i. Ip add 10.1.1.1
3. Remove spanning tree on this vlan
a. No spanning-tree vlan 4094
4. Configure mlag peer-link PO
a. Int e 23-24
i. Chan 1 mode active
b. Int po 1
i. Sw mode trunk
ii. Sw trun group mc-lag
5. Config mlag peer related information
i. Local-interface vlan 4094
ii. Peer-address 10.1.1.2
iii. Peer-link po 1
iv. Domain-id mlag-1
6. Configure member PO link
a. Int e 1
i. Chan 12 mode ac
b. Int po 12
i. Mlag 12
Show mlag (detail)
enable LLDP, link layer discovery protocol, can be helpful to understand the physical connection and neighbors!
in Juniper MX series:
edit protocol lldp
Note: On MX Series and T Series routers, you run LLDP on a physical interface, such as ge-1/0/0, and not at the logical interface (unit) level.
if the device has 24 ports, each ports are 10G.
for a full duplex, non-blocking switch,
the back plane should be capable of 240*2=480G.
for the nexus 7k, M1 line card, 32 ports, each 4 ports share a port-group, and share a 10G ASIC, so if you want to use 10G, only the dedicated first port can be used. or it will be shared mode by default.
Head of Line
Virtual Output Queue
in a single lane, the first car is left turning, even in a green light, all other cars, no matter turn right, or go straight, must wait for the left-turn car. this is called HOL
if we have a second extra lane for left turn only, even left turn car is still wait, the straight and right trun traffic is not blocked.
the best scenario is for each direction we have a lane.
it is too resource consume solution..
so the last solution is have dynamic resource for Lane!
which is called VoQ
by default no load balancing.
if the multipath is enabled, only bgp routes from the same AS neighbor will be load balanced.
if the routes travers several different AS, even the AS path length is same, it will not be load balance.
so the bgp multi-path relax will be used.
So I learned a new command today. As usual I want to share with everyone. Today’s command is “bgp bestpath as-path multipath-relax”, which is actually hidden in IOS.
To give some background, BGP will not load balance across multiple paths by default. We can configure it to do so with the “maximum-paths n” command, which is pretty well known. The criteria of this command is that all attributes must match (Weight, LP, AS Path, etc). This is acceptable if we are multihomed to a single AS, but what if we are multihomed to different ASes? In that case we are not able to load balance across theoretically equal paths. Enter the “bgp bestpath as-path multipath-relax” command…
Here’s our first topology:
(click for fullsize)
Now the config:
R1(config)#router bgp 100 R1(config-router)#no synchronization R1(config-router)#neighbor 10.1.12.2 remote-as 200 R1(config-router)#neighbor 10.1.13.3 remote-as 200 R1(config-router)#no auto-summary
Here we see the basic BGP config on R1. We will only be configuring R1 in this post.
Let’s look at the BGP table and RIB.
R1#sh ip bgp ... Network Next Hop Metric LocPrf Weight Path * 192.168.1.0 10.1.12.2 0 200 400 i *> 10.1.13.3 0 200 400 i R1#sh ip route ... 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial0/1 C 10.1.12.0 is directly connected, Serial0/0 B 192.168.1.0/24 [20/0] via 10.1.13.3, 00:01:16
We see that BGP has selected the path through R3 and put the router in its RIB.
Now we will configure BGP to use two paths, then we’ll verify:
R1(config)#router bgp 100 R1(config-router)#maximum-paths 2 R1#sh ip route ... 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial0/1 C 10.1.12.0 is directly connected, Serial0/0 B 192.168.1.0/24 [20/0] via 10.1.13.3, 00:03:18 [20/0] via 10.1.12.2, 00:00:15
Simple command under the BGP process, we see that R1 is now equally load balancing across both paths.
Now we will change it up a bit.
Here’s our second topology:
(click for fullsize)
This time R2 and R3 are in separate ASes. Let’s try “maximum-paths” again and see what happens:
R1(config)#router bgp 100 R1(config-router)# maximum-paths 2 R1#sh ip bgp ... Network Next Hop Metric LocPrf Weight Path * 192.168.1.0 10.1.13.3 0 300 400 i *> 10.1.12.2 0 200 400 i R1#sh ip route ... 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial0/1 C 10.1.12.0 is directly connected, Serial0/0 B 192.168.1.0/24 [20/0] via 10.1.12.2, 00:00:04
As expected we see that R1 is not load balancing because it does no see the paths as “equal” (different AS Paths).
This is where “bgp bestpath as-path multipath-relax” comes in:
R1(config)#router bgp 100 R1(config-router)#bgp bestpath as-path ? % Unrecognized command R1(config-router)#bgp bestpath as-path multipath-relax R1(config-router)# R1#sh run | sec bgp router bgp 100 bgp bestpath as-path multipath-relax neighbor 10.1.12.2 remote-as 200 neighbor 10.1.13.3 remote-as 300 maximum-paths 2 R1#sh ip route ... 10.0.0.0/24 is subnetted, 2 subnets C 10.1.13.0 is directly connected, Serial0/1 C 10.1.12.0 is directly connected, Serial0/0 B 192.168.1.0/24 [20/0] via 10.1.13.3, 00:00:16 [20/0] via 10.1.12.2, 00:00:16
And it works! Notice that the command doesn’t show up when we use the “?”. It is a hidden command. I’m not sure why at this point, just that it is. We do see it when we look at R1′s BGP config though.
That’s it for this one, just a short post on something new I learned today.
Enable the BGP group to use multiple paths.
|Note: To disable the default check requiring that paths accepted by BGP multipath must have the same neighboring autonomous system (AS), include the multiple-as option.|
[edit protocols bgp group external]user@R1# set multipath