question : broadcast kernel table via OSPF
Dear all I'm trying to learn BIRD4 to do ospf over batman-adv got to router : 1. router A 1.a. OSPF is at interface 'bat0' 1.b. Have 172.16.1.1/24 address at another interface, and have 'external route' 1.c. bird4.conf is at : http://pastebin.com/kin9MEnw 1.d. have birdc4 installed 2. router B 1.a. OSPF is at interface 'bat0' 1.b. bird4.conf is at : http://pastebin.com/XGTuHqfr 1.c. Not enough space to have birdc4 onboard Check from A. Router A using birdc4 : --------- bird> show ospf neighbors ospf1: Router ID Pri State DTime Interface Router IP 10.0.0.2 1 full/dr 00:56 bat0 10.0.0.2 bird> show ospf state area 0.0.0.0 router 10.0.0.1 distance 0 network 10.0.0.0/24 metric 1000 external 172.16.3.0/24 metric 1000 via 10.0.0.3 router 10.0.0.2 distance 1000 network 10.0.0.0/24 metric 1000 network 10.0.0.0/24 dr 10.0.0.2 distance 1000 router 10.0.0.2 router 10.0.0.1 --------- Looks like anything work fine. B. Router B, using terminal console : -------------------- root@OpenWrt:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.10.1 0.0.0.0 UG 0 0 0 br-lan 10.0.0.0 * 255.255.255.0 U 0 0 0 bat0 172.16.3.0 10.0.0.3 255.255.255.0 UG 0 0 0 bat0 192.168.10.0 * 255.255.255.0 U 0 0 0 br-lan ------------- Looks like : B.1. External route defined at Router-A is broadcasted ... nice B.2. Kernel route table of Router-A is NOT broadcasted. My question is : Why Kernel route table of Router-A is NOT broadcasted ? Kindly please give me any of your enlightenment to fix this problem. Sincerely -bino-
On Thu, Apr 17, 2014 at 05:23:12PM +0800, bino@indoakses-online.com wrote:
Dear all
I'm trying to learn BIRD4 to do ospf over batman-adv got to router : 1. router A 1.a. OSPF is at interface 'bat0' 1.b. Have 172.16.1.1/24 address at another interface, and have 'external route' 1.c. bird4.conf is at : http://pastebin.com/kin9MEnw 1.d. have birdc4 installed
2. router B 1.a. OSPF is at interface 'bat0' 1.b. bird4.conf is at : http://pastebin.com/XGTuHqfr 1.c. Not enough space to have birdc4 onboard
You could have birdcl4 (light client) here. But perhaps i would have to update OpenWrt packaging scripts to include it.
------------- Looks like : B.1. External route defined at Router-A is broadcasted ... nice B.2. Kernel route table of Router-A is NOT broadcasted.
My question is : Why Kernel route table of Router-A is NOT broadcasted ?
Because you have this in your export filter: if source = RTS_STATIC then accept; else reject; Which rejects other than static routes. Just replace it with 'accept;' You should see other routes in 'show ospf state' as external. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."
Dear Ondrej 'SanTiago' Zajicek. I really appreciate your very fast response
You could have birdcl4 (light client) here. But perhaps i would have to update OpenWrt packaging scripts to include it.
At Router-B ... I can not have it ..because of space limitation. It's a tp-link 741 ... on have 4 MB flash.
My question is : Why Kernel route table of Router-A is NOT broadcasted ?
Because you have this in your export filter:
if source = RTS_STATIC then accept; else reject;
Which rejects other than static routes. Just replace it with 'accept;'
What do you mean with "Just replace it with 'accept'" ? I change it to : export filter { ospf_metric1 = 1000; accept; }; And still didn't work. Also I tried with just remove the filter and replace it with 'export all' Same result. sincerely -bino-
You should see other routes in 'show ospf state' as external.
-- Elen sila lumenn' omentielvo
Ondrej 'SanTiago' Zajicek (email: santiago@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."
On Thu, Apr 17, 2014 at 06:59:02PM +0800, bino@indoakses-online.com wrote:
My question is : Why Kernel route table of Router-A is NOT broadcasted ?
Because you have this in your export filter:
if source = RTS_STATIC then accept; else reject;
Which rejects other than static routes. Just replace it with 'accept;'
What do you mean with "Just replace it with 'accept'" ?
I change it to :
export filter { ospf_metric1 = 1000; accept; };
Yes that.
And still didn't work.
You could check the router-A BIRD routing table by 'show route' whether the routes were imported to BIRD. You could check logs if they do not contain warnings. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."
Dear All. I really appreciate your help
I change it to :
export filter { ospf_metric1 = 1000; accept; };
Yes that.
1. New Configuration is at : http://pastebin.com/zFW8Uw5g
And still didn't work.
You could check the router-A BIRD routing table by 'show route' whether the routes were imported to BIRD.
2. from birdc4 show route, I still only got : bird> show route 10.0.0.0/24 dev bat0 [ospf1 09:08:54] * I (150/1000) [10.0.0.2] 172.16.3.0/24 via 10.0.0.3 on bat0 [static1 09:08:45] * (200) While it's kernel routing table is : root@owrt-bino:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 * 255.255.255.0 U 0 0 0 bat0 172.16.1.0 * 255.255.255.0 U 0 0 0 br-lan 172.16.3.0 10.0.0.3 255.255.255.0 UG 0 0 0 bat0 192.168.10.0 * 255.255.255.0 U 0 0 0 eth0 Looks like that 172.16.1.0/24 route is not imported
You could check logs if they do not contain warnings.
3. Where is the Bird4 log file ? I Only got : root@owrt-bino:~# find / |grep bird /tmp/run/bird.ctl /tmp/run/bird4.pid /etc/bird4.conf.orig /etc/init.d/bird4 /etc/bird4.conf /usr/lib/opkg/info/bird4.conffiles /usr/lib/opkg/info/bird4.control /usr/lib/opkg/info/bird4.list /usr/lib/opkg/info/birdc4.control /usr/lib/opkg/info/birdc4.list /usr/sbin/bird4 /usr/sbin/birdc4 And got nothing when I try --> cat /var/log/lastlog I still waiting for your enlightenment Sincerely -bino-
On Sat, Apr 19, 2014 at 10:28:02AM +0800, bino@indoakses-online.com wrote:
Dear All.
I really appreciate your help
I change it to :
export filter { ospf_metric1 = 1000; accept; };
Yes that.
1. New Configuration is at : http://pastebin.com/zFW8Uw5g
That is OK.
You could check the router-A BIRD routing table by 'show route' whether the routes were imported to BIRD.
2. from birdc4 show route, I still only got : bird> show route 10.0.0.0/24 dev bat0 [ospf1 09:08:54] * I (150/1000) [10.0.0.2] 172.16.3.0/24 via 10.0.0.3 on bat0 [static1 09:08:45] * (200)
While it's kernel routing table is : root@owrt-bino:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 * 255.255.255.0 U 0 0 0 bat0 172.16.1.0 * 255.255.255.0 U 0 0 0 br-lan 172.16.3.0 10.0.0.3 255.255.255.0 UG 0 0 0 bat0 192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
Looks like that 172.16.1.0/24 route is not imported
Yes. You should check your routes using 'ip route show' to see route source values. Older (pre-1.4.x) versions of BIRD did not import kernel device routes, so if you have pre-1.4.x BIRD and Batman daemon does not use proper source value and uses RTPROT_BOOT value instead, then these are not imported.
You could check logs if they do not contain warnings.
3. Where is the Bird4 log file ?
According to your bird.conf you use logging to syslog so it depends on your syslog config. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."
Dear All.. C/Q Ondrej 'SanTiago' Zajicek First .. I really Sorry for my verry late feedback
Yes. You should check your routes using 'ip route show' to see route source values. Older (pre-1.4.x) versions of BIRD did not import kernel device routes, so if you have pre-1.4.x BIRD and Batman daemon does not use proper source value and uses RTPROT_BOOT value instead, then these are not imported.
Hmmm .. I think that is the problem. I put 'protocol direct' ... and all work fine. Sincerely -bino-
participants (2)
-
bino@indoakses-online.com -
Ondrej Zajicek