Newbie question - create filter for prefixes to export and also modify bgp next hop
Mathias Wolkert
tias at netnod.se
Wed Mar 2 16:15:48 CET 2011
On 3/2/11 15:57 , Ondrej Filip wrote:
> On 2.3.2011 14:55, Mathias Wolkert wrote:
>> Hi
>>
>> On 3/2/11 11:32 , Ondrej Filip wrote:
>>> On 2.3.2011 10:36, Mathias Wolkert wrote:
>>>> Hi
>>>>
>>>> As said, I'm new to BIRD and struggling a bit with the config syntax.
>>>>
>>>> I'll try to explain what I want to do.
>>>>
>>>> I have a few prefixes, lets say 10.1.1.0/24, 10.2.2.0/24, 10.3.3.0/24.
>>>> I want to announce these (and only these) in a BGP session, but with a
>>>> modified next hop.
>>>>
>>>> How would I do this?
>>>
>>> Add this export filter to you BGP session:
>>>
>>> export filter {
>>> if net ~ [10.1.1.0/24, 10.2.2.0/24, 10.3.3.0/24] then {
>>> bgp_next_hop = X.X.X.X;
>>> accept;
>>> }
>>> else reject;
>>> };
>>>
>>> (I did not check syntax, maybe some ';' is missing.
>>> Ondrej
>>
>> Working fine, thanks a lot.
>>
>> Now say I want to do this for all my +100 peers could I do the
>> filtering once in a filter and call that in every session?
>
> Sure, you can just:
>
> filter bgp_out
> {
> if net ~ [10.1.1.0/24, 10.2.2.0/24, 10.3.3.0/24] then {
> bgp_next_hop = X.X.X.X;
> accept;
> }
> else reject;
> };
>
> And at every BGP session e.g.:
>
> protocol bgp AAAA {
> local as myas;
> neighbor XX.XX.XX.XX as YYYY;
> import all;
> export filter bgp_out;
> rs client;
> }
Perfect, that is exactly what I want.
I realize that it's the tildes and types of brackets part that makes me
uncertain.
>
> Or you can use function that accepts parameters etc.
>
>>
>> Another thing.
>>
>> One of these prefixes I want to originate from a different AS.
>> In IOS and quagga I can do this with "set as-path prepend" and get:
>>
>> prefix/mask<local_as> <prepended_as> i
>>
>
> Are you sure? This looks wrong to me.
>
>> Doing this in BIRD gives me a different behavior and I get:
>>
>> prefix/mask<prepended_as> <local_as> i
>>
>> A little bird told me about this not beeing wrong, but closer to what
>> the standard states.
>>
>> Do you agree?
>> How would I get around this, another table and pipes?
>
> So you would like to change originator? Which way? YOU would like to
> be an originator?
Yes, I'd like to change the originator to "prepended_as" and also have
"local_as" in the path like I have on quagga/IOS.
I've been told Cisco is breaking the standard by not appending but
replace the as-path when originating prefixes.
Not sure myself...
>
> Ondrej
>
>
>>
>> /Tias
>>
>>
>>>
>>>
>>>>
>>>> Any help is much appreciated.
>>>>
>>>> /Tias
>>>
>
/Tias
More information about the Bird-users
mailing list