BGP Link Bandwidth Extended Community?

dave seddon dave.seddon.ca at gmail.com
Mon Jan 12 18:30:43 CET 2015


Greetings,

Thanks Ondrej!

With the help from a little IEEE754 converter, it works!

Filter becomes:
---------------------------------
    export filter {
        # Bandwidth in IEEE floating point format
        # http://www.h-schmidt.net/FloatConverter/IEEE754.html
        # 10000 0x461c4000
        #  9000 0x460ca000
        #  8000 0x45fa0000
        #  7000 0x45dac000
        #  6000 0x45bb8000
        #  5000 0x459c4000
        #  4000 0x457a0000
        #  3000 0x453b8000
        #  2000 0x44fa0000
        #  1000 0x447a0000
        #bgp_ext_community.add((unknown 0x4004, 65300, 0x461c4000));
        if net ~ [22.0.0.0/24] then {
            bgp_ext_community.add((unknown 0x4004, 65300,
0x461c4000));#10000
        }
        if net ~ [22.0.1.0/24] then {
            bgp_ext_community.add((unknown 0x4004, 65300, 0x460ca000));#9000
        }
        if net ~ [22.0.2.0/24] then {
            bgp_ext_community.add((unknown 0x4004, 65300, 0x45fa0000));#8000
        }
        if net ~ [22.0.3.0/24] then {
            bgp_ext_community.add((unknown 0x4004, 65300, 0x447a0000));#1000
        }
---------------------------------

Community is correctly interpreted by a Juniper MX:
---------------------------------
root at cache-router> show route 22.0.0.0 detail

inet.0: 605 destinations, 1120 routes (604 active, 0 holddown, 1 hidden)
22.0.0.0/24 (2 entries, 1 announced)
        *BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x290c1c0
                Next-hop reference count: 514
                Source: 10.1.0.2
                Next hop type: Router, Next hop index: 635
                Next hop: 10.0.0.2 via xe-1/0/0.10, selected
                Session Id: 0x1
                Next hop type: Router, Next hop index: 724
                Next hop: 10.0.1.2 via xe-1/2/0.10
                Session Id: 0x5
                Protocol next hop: 10.0.0.2
                Indirect next hop: 0x2930514 1048577 INH Session ID: 0xc1b
                Protocol next hop: 10.0.1.2
                Indirect next hop: 0x2930c30 1048578 INH Session ID: 0x96
                State: <Active Int Ext>
                Peer AS: 65300
                Age: 3:56       Metric2: 0
                Validation State: unverified
                Task: BGP_65300_65300.10.1.0.2+57790
                Announcement bits (3): 0-KRT 4-Resolve tree 2 6-RT
                AS path: 65301 I
                AS path: Recorded
                Communities:
bandwidth:65300:10000
<--------------- Yay!
                Accepted Multipath
                Localpref: 100
                Router ID: 10.1.0.2
         BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x28a58b4
                Next-hop reference count: 385
                Source: 10.1.0.6
                Next hop type: Router, Next hop index: 724
                Next hop: 10.0.1.2 via xe-1/2/0.10, selected
                Session Id: 0x5
                Protocol next hop: 10.0.1.2
                Indirect next hop: 0x2930c30 1048578 INH Session ID: 0x96
                State: <NotBest Int Ext>
                Inactive reason: Not Best in its group - Router ID
                Peer AS: 65300
                Age: 2d 22:58:54        Metric2: 0
                Validation State: unverified
                Task: BGP_65300_65300.10.1.0.6+36217
                AS path: 65301 I
                AS path: Recorded
                Accepted MultipathContrib
                Localpref: 100
                Router ID: 10.1.0.6
---------------------------------
root at cache-router> show route 22.0.0.0 detail | grep bandwidth
                Communities: bandwidth:65300:10000

root at cache-router> show route 22.0.1.0 detail | grep bandwidth
                Communities: bandwidth:65300:9000

root at cache-router> show route 22.0.2.0 detail | grep bandwidth
                Communities: bandwidth:65300:8000

root at cache-router> show route 22.0.3.0 detail | grep bandwidth
                Communities: bandwidth:65300:1000
---------------------------------

>From an operational perspective, what's the best way make changes to these
Bandwidth values without restarting the BGP sessions?  I'd like to be able
to make changes, and then push a new update message, like doing a 'clear ip
bgp x.x.x.x soft clear out'.  I've tried just updating the configurations
file and then restarting the reloading the protocol, but that doesn't do it.
---------------------------------
bird> reload core
core: reloading
---------------------------------

Kind regards,
Dave


On Sun, Jan 11, 2015 at 3:43 PM, Ondrej Zajicek <santiago at crfreenet.org>
wrote:

> On Sun, Jan 11, 2015 at 02:16:18PM -0800, dave seddon wrote:
> > Greetings Ondrej,
> >
> > Thanks for your reply regarding this extended community.
> >
> > I have tried the following two (2) configurations:
> > -------------------------------------------------
> >         bgp_ext_community.add((unknown 0x4004, 65300, 10000));
> >         bgp_ext_community.add((unknown 0x4004, 65300, 0x03E8));
> > -------------------------------------------------
> >
> > In both cases, the neighbour Juniper router see the bandwidth as zero.
>
> According to https://tools.ietf.org/html/draft-ietf-idr-link-bandwidth-06,
> the bandwidth have to be encoded as floating point, while the 'unknown'
> format defines a raw value of local field of the community.
>
> You could try to set the value from the tcpdump of Juniper (1176255488)
> instead of 10000.
>
> Well, to be practical, we would have to add explicit support for this
> community instead of using universal format.
>
> --
> Elen sila lumenn' omentielvo
>
> Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
> OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
> "To err is human -- to blame it on a computer is even more so."
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20150112/b1115e15/attachment.html>


More information about the Bird-users mailing list