05-28-2019 12:01 PM
Hi All,
I've been studying bgp dmzlink-bw. Looking at the documentation (link1, link2 for example) it all appears to say "neighbor dmzlink-bw" sends the bandwith in an extended community. However, I can enable unequal cost load balancing on one node, and it'll take affect. Clearly (if only enabled on one node) the bandwith is not received, it is configured and applied locally. So take the example below, R4 is clearly load-sharing from the bandwith configured locally. From what iI can see, "neighbor dmzlink-bw" sets the prefix's extended-community bw based on the inbound interface. So where do the advertisements of bandwidth come into the equation?
Changed config below
#R1#
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
ip address 10.0.12.1 255.255.255.0
!
interface FastEthernet1/0
ip address 10.0.13.1 255.255.255.0
!
router bgp 1
network 1.1.1.1 mask 255.255.255.255
neighbor 10.0.12.2 remote-as 200
neighbor 10.0.13.3 remote-as 200
#R2
interface FastEthernet0/0
ip address 10.0.12.2 255.255.255.0
!
interface FastEthernet1/0
ip address 10.0.24.2 255.255.255.0
!
router bgp 200
bgp log-neighbor-changes
neighbor 10.0.12.1 remote-as 1
neighbor 10.0.24.4 remote-as 4
#R3
interface FastEthernet0/0
ip address 10.0.34.3 255.255.255.0
!
interface FastEthernet1/0
ip address 10.0.13.3 255.255.255.0
!
router bgp 200
neighbor 10.0.13.1 remote-as 1
neighbor 10.0.34.4 remote-as 4
#R4
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
bandwidth 10000
ip address 10.0.24.4 255.255.255.0
!
interface FastEthernet1/0
ip address 10.0.34.4 255.255.255.0
!
router bgp 4
bgp dmzlink-bw
network 4.4.4.4 mask 255.255.255.255
neighbor 10.0.24.2 remote-as 200
neighbor 10.0.24.2 dmzlink-bw
neighbor 10.0.34.3 remote-as 200
neighbor 10.0.34.3 dmzlink-bw
maximum-paths 2
-------Output from R4-------
R4#show ip route 1.1.1.1
Routing entry for 1.1.1.1/32
Known via "bgp 4", distance 20, metric 0
Tag 200, type external
Last update from 10.0.34.3 00:08:52 ago
Routing Descriptor Blocks:
10.0.34.3, from 10.0.34.3, 00:08:52 ago
Route metric is 0, traffic share count is 10
AS Hops 2
Route tag 200
MPLS label: none
* 10.0.24.2, from 10.0.24.2, 00:08:52 ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 200
MPLS label: none
R4#
Solved! Go to Solution.
06-01-2019 11:32 AM
Hello,
see the BGP command reference
https://www.cisco.com/c/en/us/td/docs/ios/iproute_bgp/command/reference/irg_book/irg_bgp3.html
>>In the following example, the BGP Link Bandwidth feature is configured to allow multipath load balancing to distribute link traffic proportionally to the bandwidth of each external link, and to advertise the bandwidth of these links to iBGP peers as an extended community:
You have used also the command bgp dmz-linkbw at router BGP level
bgp dmzlink-bw |
Configures BGP to distribute traffic proportionally over external links with unequal bandwidth when multipath load balancing is enabled. |
So you see the effects of this command that allows load balancing over links with different bandwidth.
In your test this command at router BGP level applies to R4 that uses its own bandwidth settings and not the ones sent by R3 over an eBGP session.
The use case of neighbor x.x.x.x dmz-linkbw is to make the border router to calculate the bandwith of each external eBGP session and to send them as extended communities to Internal IBGP peers to make them take load balancing decisions using the BGP extcommunity parameter.
This is explained in the example in the command reference.
In your case the BGP level command applies as you have only eBGP sessions.
If you had further BGP routers behind R4 in the same BGP AS (iBGP peers to R4), you could see the effects on them.
So yes my first answer was not complete. The BGP multipath allows for equal cost multipath,
The BGP dmz-linkbw command at BGP router level allows for unequal cost load balancing based on bandwidth settings on local router.
The sending of this extended BGP community is effective only in iBGP sessions like it happens for the local preference attribute.
I think your tests show this fact.
Hope to help
Giuseppe
05-29-2019 11:35 AM
Hello,
have a look at the following thread
https://community.cisco.com/t5/routing/bgp-dmzlink-bw-command/m-p/1312759
What you see locally is the effect of the BGP multipath command that you have enabled on R4.
For sending extended communities and standard communities you need
neighbor x.x.x.x send-communities both
Then you have to look at show ip bgp 4.4.4.4 on other routers.
Hope to help
Giuseppe
06-01-2019 09:10 AM
Hi Guyseppe,
Thanks for getting back to me.
BGP multipath allows multipule routes to be installed into routing table. however, only when "neighbor x.x.x.x dmzlink-bw" is enabled on r4's neighbors is the interface bandwidth taken into account and the unequal cost load banancing take affect. As shown in the output below. Even when i configure R3 to send a different bandwidth, R4 still ignores it.
so my question remains, what does the sending the bw in an extended community actually do?
R4#show ip route 1.1.1.1
Routing entry for 1.1.1.1/32
Known via "bgp 4", distance 20, metric 0
Tag 200, type external
Last update from 10.0.24.2 00:00:02 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:00:02 ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 200
MPLS label: none
10.0.24.2, from 10.0.24.2, 00:00:02 ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 200
MPLS label: none
R4#show run | s bgp
router bgp 4
bgp log-neighbor-changes
bgp dmzlink-bw
network 4.4.4.4 mask 255.255.255.255
neighbor 10.0.24.2 remote-as 200
neighbor 10.0.34.3 remote-as 200
maximum-paths 2
R4#
# Then if i go one step further and configure R3 to send a higher a higher bandwith, and configure r3&r4 to send the communites. R4 still uses the bandwidth configured locally
R3#show run | s bgp
router bgp 200
bgp log-neighbor-changes
bgp dmzlink-bw
neighbor 10.0.13.1 remote-as 1
neighbor 10.0.34.4 remote-as 4
neighbor 10.0.34.4 send-community extended
neighbor 10.0.34.4 dmzlink-bw
R3#show int fa0/0 | i BW
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 100 usec,
R4#show ip route 1.1.1.1
Routing entry for 1.1.1.1/32
Known via "bgp 4", distance 20, metric 0
Tag 200, type external
Last update from 10.0.24.2 00:00:02 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:00:02 ago
Route metric is 0, traffic share count is 10
AS Hops 2
Route tag 200
MPLS label: none
10.0.24.2, from 10.0.24.2, 00:00:02 ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 200
MPLS label: none
R4#show run | s bgp
router bgp 4
bgp log-neighbor-changes
bgp dmzlink-bw
network 4.4.4.4 mask 255.255.255.255
neighbor 10.0.24.2 remote-as 200
neighbor 10.0.24.2 dmzlink-bw
neighbor 10.0.34.3 remote-as 200
neighbor 10.0.34.3 send-community extended
neighbor 10.0.34.3 dmzlink-bw
maximum-paths 2
R4#
06-01-2019 11:32 AM
Hello,
see the BGP command reference
https://www.cisco.com/c/en/us/td/docs/ios/iproute_bgp/command/reference/irg_book/irg_bgp3.html
>>In the following example, the BGP Link Bandwidth feature is configured to allow multipath load balancing to distribute link traffic proportionally to the bandwidth of each external link, and to advertise the bandwidth of these links to iBGP peers as an extended community:
You have used also the command bgp dmz-linkbw at router BGP level
bgp dmzlink-bw |
Configures BGP to distribute traffic proportionally over external links with unequal bandwidth when multipath load balancing is enabled. |
So you see the effects of this command that allows load balancing over links with different bandwidth.
In your test this command at router BGP level applies to R4 that uses its own bandwidth settings and not the ones sent by R3 over an eBGP session.
The use case of neighbor x.x.x.x dmz-linkbw is to make the border router to calculate the bandwith of each external eBGP session and to send them as extended communities to Internal IBGP peers to make them take load balancing decisions using the BGP extcommunity parameter.
This is explained in the example in the command reference.
In your case the BGP level command applies as you have only eBGP sessions.
If you had further BGP routers behind R4 in the same BGP AS (iBGP peers to R4), you could see the effects on them.
So yes my first answer was not complete. The BGP multipath allows for equal cost multipath,
The BGP dmz-linkbw command at BGP router level allows for unequal cost load balancing based on bandwidth settings on local router.
The sending of this extended BGP community is effective only in iBGP sessions like it happens for the local preference attribute.
I think your tests show this fact.
Hope to help
Giuseppe
06-02-2019 05:17 AM
Giuseppe, that's great thanks. You answered my question. thank you for taking the time to answer
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide