cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
822
Views
0
Helpful
4
Replies

bgp dmzlink-bw - send-community

CSCO12065472
Level 1
Level 1

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?

dmz-bw.png

 

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#

1 Accepted Solution

Accepted Solutions

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

View solution in original post

4 Replies 4

Giuseppe Larosa
Hall of Fame
Hall of Fame

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

 

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#

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

Giuseppe, that's great thanks. You answered my question. thank you for taking the time to answer 

Review Cisco Networking products for a $25 gift card