BIRD on FreeBSD 9.2 (amd64) - OSPF is not putting routes in the routing table
Hi, I am running BIRD 1.3.11 on FreeBSD 9.2 (amd64). It establishes full adjacency with its three neighbours (Cisco routers) and its routing table is correct. BIRD knows about the routers behind its neighbours. The problem is that the kernel does not know any of the learned routes, i.e. 'netstat -rnf inet' shows only routes for the interfaces. I suspect that I am missing something basic but have not found it yet after many hours of searching. Could someone point me in the right direction? Thank you. The configuration file follows. -- C Marinier # Configure logging log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug }; # Override router ID router id 131.140.113.14; protocol kernel { persist; # leave routes in kernel table on exit import all; # import routes into kernel routing table scan time 10; # look for new interfaces every 10 seconds } protocol device { scan time 10; # look for changes every 10 seconds } # make sure routes for directly connected sub-networks # are not disturbed (BSD's are susceptible to this) protocol direct { interface "bce0", "bce1", "em0"; } protocol ospf WANemu { area 0.0.0.0 { stub no; networks { x.x.113.8/29; x.x.113.184/29; x.x.113.104/29; }; interface "bce0" { authentication cryptographic; password "xxxxxx"; }; interface "bce1" { authentication cryptographic; password "xxxxxx"; }; interface "em0" { authentication cryptographic; password "xxxxxx"; }; }; }
On 21.11.2013 21:09, Claude Marinier wrote:
Hi,
Hi!
I am running BIRD 1.3.11 on FreeBSD 9.2 (amd64). It establishes full adjacency with its three neighbours (Cisco routers) and its routing table is correct. BIRD knows about the routers behind its neighbours. The problem is that the kernel does not know any of the learned routes, i.e. 'netstat -rnf inet' shows only routes for the interfaces.
Add a line 'export all' to the kernel protocol. Ondrej
I suspect that I am missing something basic but have not found it yet after many hours of searching. Could someone point me in the right direction?
Thank you.
The configuration file follows.
On November 21, 2013 3:15 PM , Ondrej Filip wrote:
On 21.11.2013 21:09, Claude Marinier wrote:
Hi,
Hi!
I am running BIRD 1.3.11 on FreeBSD 9.2 (amd64). It establishes full adjacency with its three neighbours (Cisco routers) and its routing table is correct. BIRD knows about the routers behind its neighbours. The problem is that the kernel does not know any of the learned routes, i.e. 'netstat -rnf inet' shows only routes for the interfaces.
Add a line 'export all' to the kernel protocol.
Here is some text from the documentation : 3.3 Protocol Options import all | none | filter name | filter { filter commands } | ... Specify a filter to be used for filtering routes coming from the protocol to the routing table. all is shorthand for where true and none is shorthand for where false. Default: all. export filter This is similar to the import keyword, except that it works in the direction from the routing table to the protocol. Default: none. In my case, the protocol is OSPF. I want to copy routes learned by the protocol to the routing table. The documentation says to use import but you are saying export. Which is correct?
Ondrej
I suspect that I am missing something basic but have not found it yet after many hours of searching. Could someone point me in the right direction?
Thank you.
The configuration file follows.
Le 21/11/2013 21:42, Claude Marinier a écrit :
Here is some text from the documentation : 3.3 Protocol Options
import all | none | filter name | filter { filter commands } | ... Specify a filter to be used for filtering routes coming from the protocol to the routing table. all is shorthand for where true and none is shorthand for where false. Default: all. export filter This is similar to the import keyword, except that it works in the direction from the routing table to the protocol. Default: none.
In my case, the protocol is OSPF. I want to copy routes learned by the protocol to the routing table. The documentation says to use import but you are saying export. Which is correct?
You are not the first, and probably not the last which are confused with import and export term in bird. The import and export are from the routing table point of view. So for each protocol : - you *import* route from the protocol to the bird routing table - you *export* route to the protocol from the birdrouting table Reminber also, that the bird routing table is not the kernel routing table. In your case, you want something like this : kernel { import none; export all; ... } ospf { import all; ... I hope this is not the opposite :) regards, -- Raphael Mazelier
participants (3)
-
Claude Marinier -
Ondrej Filip -
Raphael Mazelier