<div dir="ltr"><div><div>Greetings,<br><br></div>Thanks Ondrej!<br><br></div>With the help from a little IEEE754 converter, it works!<br><div><br>Filter becomes:<br>---------------------------------<br>    export filter {<br>        # Bandwidth in IEEE floating point format<br>        # <a href="http://www.h-schmidt.net/FloatConverter/IEEE754.html">http://www.h-schmidt.net/FloatConverter/IEEE754.html</a><br>        # 10000 0x461c4000<br>        #  9000 0x460ca000<br>        #  8000 0x45fa0000<br>        #  7000 0x45dac000<br>        #  6000 0x45bb8000<br>        #  5000 0x459c4000<br>        #  4000 0x457a0000<br>        #  3000 0x453b8000<br>        #  2000 0x44fa0000<br>        #  1000 0x447a0000<br>        #bgp_ext_community.add((unknown 0x4004, 65300, 0x461c4000));<br>        if net ~ [<a href="http://22.0.0.0/24">22.0.0.0/24</a>] then {<br>            bgp_ext_community.add((unknown 0x4004, 65300, 0x461c4000));#10000<br>        }<br>        if net ~ [<a href="http://22.0.1.0/24">22.0.1.0/24</a>] then {<br>            bgp_ext_community.add((unknown 0x4004, 65300, 0x460ca000));#9000<br>        }<br>        if net ~ [<a href="http://22.0.2.0/24">22.0.2.0/24</a>] then {<br>            bgp_ext_community.add((unknown 0x4004, 65300, 0x45fa0000));#8000<br>        }<br>        if net ~ [<a href="http://22.0.3.0/24">22.0.3.0/24</a>] then {<br>            bgp_ext_community.add((unknown 0x4004, 65300, 0x447a0000));#1000<br>        }<br>---------------------------------<br><br></div><div>Community is correctly interpreted by a Juniper MX:<br></div><div>---------------------------------<br>root@cache-router> show route 22.0.0.0 detail                     <br><br>inet.0: 605 destinations, 1120 routes (604 active, 0 holddown, 1 hidden)<br><a href="http://22.0.0.0/24">22.0.0.0/24</a> (2 entries, 1 announced)<br>        *BGP    Preference: 170/-101<br>                Next hop type: Indirect<br>                Address: 0x290c1c0<br>                Next-hop reference count: 514<br>                Source: 10.1.0.2<br>                Next hop type: Router, Next hop index: 635<br>                Next hop: 10.0.0.2 via xe-1/0/0.10, selected<br>                Session Id: 0x1<br>                Next hop type: Router, Next hop index: 724<br>                Next hop: 10.0.1.2 via xe-1/2/0.10<br>                Session Id: 0x5<br>                Protocol next hop: 10.0.0.2<br>                Indirect next hop: 0x2930514 1048577 INH Session ID: 0xc1b<br>                Protocol next hop: 10.0.1.2<br>                Indirect next hop: 0x2930c30 1048578 INH Session ID: 0x96<br>                State: <Active Int Ext><br>                Peer AS: 65300<br>                Age: 3:56       Metric2: 0 <br>                Validation State: unverified <br>                Task: BGP_65300_65300.10.1.0.2+57790<br>                Announcement bits (3): 0-KRT 4-Resolve tree 2 6-RT <br>                AS path: 65301 I<br>                AS path: Recorded<br>                Communities: bandwidth:65300:10000                                               <--------------- Yay!<br>                Accepted Multipath<br>                Localpref: 100<br>                Router ID: 10.1.0.2<br>         BGP    Preference: 170/-101<br>                Next hop type: Indirect<br>                Address: 0x28a58b4      <br>                Next-hop reference count: 385<br>                Source: 10.1.0.6<br>                Next hop type: Router, Next hop index: 724<br>                Next hop: 10.0.1.2 via xe-1/2/0.10, selected<br>                Session Id: 0x5<br>                Protocol next hop: 10.0.1.2<br>                Indirect next hop: 0x2930c30 1048578 INH Session ID: 0x96<br>                State: <NotBest Int Ext><br>                Inactive reason: Not Best in its group - Router ID<br>                Peer AS: 65300<br>                Age: 2d 22:58:54        Metric2: 0 <br>                Validation State: unverified <br>                Task: BGP_65300_65300.10.1.0.6+36217<br>                AS path: 65301 I<br>                AS path: Recorded<br>                Accepted MultipathContrib<br>                Localpref: 100<br>                Router ID: 10.1.0.6<br>---------------------------------<br>root@cache-router> show route 22.0.0.0 detail | grep bandwidth <br>                Communities: bandwidth:65300:10000<br><br>root@cache-router> show route 22.0.1.0 detail | grep bandwidth    <br>                Communities: bandwidth:65300:9000<br><br>root@cache-router> show route 22.0.2.0 detail | grep bandwidth    <br>                Communities: bandwidth:65300:8000<br><br>root@cache-router> show route 22.0.3.0 detail | grep bandwidth    <br>                Communities: bandwidth:65300:1000<br>---------------------------------<br><br></div><div>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.<br>---------------------------------<br>bird> reload core<br>core: reloading<br>---------------------------------<br><br></div><div>Kind regards,<br>Dave<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 11, 2015 at 3:43 PM, Ondrej Zajicek <span dir="ltr"><<a href="mailto:santiago@crfreenet.org" target="_blank">santiago@crfreenet.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sun, Jan 11, 2015 at 02:16:18PM -0800, dave seddon wrote:<br>
> Greetings Ondrej,<br>
><br>
> Thanks for your reply regarding this extended community.<br>
><br>
> I have tried the following two (2) configurations:<br>
> -------------------------------------------------<br>
>         bgp_ext_community.add((unknown 0x4004, 65300, 10000));<br>
>         bgp_ext_community.add((unknown 0x4004, 65300, 0x03E8));<br>
> -------------------------------------------------<br>
><br>
> In both cases, the neighbour Juniper router see the bandwidth as zero.<br>
<br>
</span>According to <a href="https://tools.ietf.org/html/draft-ietf-idr-link-bandwidth-06" target="_blank">https://tools.ietf.org/html/draft-ietf-idr-link-bandwidth-06</a>,<br>
the bandwidth have to be encoded as floating point, while the 'unknown'<br>
format defines a raw value of local field of the community.<br>
<br>
You could try to set the value from the tcpdump of Juniper (1176255488)<br>
instead of 10000.<br>
<br>
Well, to be practical, we would have to add explicit support for this<br>
community instead of using universal format.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Elen sila lumenn' omentielvo<br>
<br>
Ondrej 'Santiago' Zajicek (email: <a href="mailto:santiago@crfreenet.org">santiago@crfreenet.org</a>)<br>
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, <a href="http://wwwkeys.pgp.net" target="_blank">wwwkeys.pgp.net</a>)<br>
"To err is human -- to blame it on a computer is even more so."<br>
</div></div></blockquote></div><br></div>