bird: show route behaviour

Hans van Kranenburg hans.van.kranenburg at mendix.com
Sun Feb 24 19:35:17 CET 2013


On 02/24/2013 06:52 PM, Ondrej Filip wrote:
> On 24.2.2013 17:28, Hans van Kranenburg wrote:
>> On 02/24/2013 05:12 PM, Ondrej Filip wrote:
>>> On 24.2.2013 01:08, Dan Rimal wrote:
> 
>>>> Weird show behaviour comes now:
>>>>
>>>> bird> show route export nix1_nix
>>>> 4.4.4.0/24         via 172.17.1.1 on eth0 [s_master 00:29] * (200)
>>>> 5.5.5.0/24         via 172.17.1.1 on eth0 [s_nix 00:29] * (200)
>>>> 6.6.6.0/24         via 172.17.1.1 on eth0 [s_tranzit 00:29] * (200)
>>>
>>> I believe 'show route export nix1_nix table t_nix' does the right
>>> thing. Can you test it please?
>>
>> In my case similar case, the equivalent command of this does show the
>> right output indeed.
>>
>>> I think I understand the issue, I will look at it.
>>
>> Adding 'table master' instead of the table name that was chosen in the
>> protocol declaration shows the same as the default output when not
>> adding the table name.
> 
> yes, because 'table master' is default. I produced a simple patch
> (attached) against the current git repository, but it should work
> against 1.3.9.  However I am not 100% sure whether to submit this into
> the main branch or rather just document that 'table master' is
> default. I will discuss it with my teammates. And of course, your
> comments are welcome.

How should the output of the following command in Dans example be
interpreted?

bird> show route export nix1_nix
4.4.4.0/24         via 172.17.1.1 on eth0 [s_master 00:29] * (200)
5.5.5.0/24         via 172.17.1.1 on eth0 [s_nix 00:29] * (200)
6.6.6.0/24         via 172.17.1.1 on eth0 [s_tranzit 00:29] * (200)

I guess it should be done like: "these are the routes that could
possibly be exported from table master via table t_nix to nix1_nix if
none of them were being filtered"? This does not make any sense to me as
default output.

The config Dan is showing explicitely has an import none from master to
t_nix, so when being busy to debug route information at the nix1_nix
proto, after filtering all those routes from t_nix to nix1_nix (possibly
to isolate the test case while tracking down a problem) this looks very
confusing.

I'm always a fan of defaults that match how (new) people would use the
software intuitively, and here's how I would intuitively think:

One of the first pages you read when starting with bird is this one:

http://bird.network.cz/?get_doc&f=bird-2.html

"Each protocol is connected to a routing table through two filters which
can accept, reject and modify the routes. An export filter checks routes
passed from the routing table to the protocol, an import filter checks
routes in the opposite direction."

This makes me think by default that show route export <protocol> would
show me information about what is actually going in in <protocol> right
now by default, related to its own connected bird table.

-- 
Hans van Kranenburg - System / Network Engineer
T +31 (0)10 2760434 | hans.van.kranenburg at mendix.com | www.mendix.com



More information about the Bird-users mailing list