Hi. I've some troubles with bird running this config: router id 10.0.0.1; filter FromOSPF { if proto="OSPF" then accept; reject; } protocol kernel KRT { learn; persist; scan time 20; import all; export filter FromOSPF; } protocol device Ifaces { scan time 10; } protocol static DefaultGW { route 0.0.0.0/0 reject; } filter DefaultOriginate { if proto = "DefaultOriginate" then accept; reject; } protocol ospf OSPF { import all; export filter DefaultOriginate; area 0.0.0.0 { interface "vlan2000" { hello 10; retransmit 5; cost 10; priority 30; dead 40; wait 40; type nbma; authentication none; strict nonbroadcast yes; neighbors { 172.30.0.120; }; }; }; } 172.30.0.1 - compiled from fresh sources: bird 1.3.1 running debian with kernel 2.6.38.6 x64 172.30.0.120 - It is a mikrotik routeros version 5.2 node with configured ospf. When I restart the ospf in bird (birdc restrart OSPF) :P Mikrotik says: 00:59:09 route,ospf,debug RECV: Hello <- 172.30.0.1 on vlan2000 (172.30.0.120) 00:59:09 route,ospf,debug,raw PACKET: 00:59:09 route,ospf,debug,raw 45 C0 00 44 74 DA 00 00 40 59 AC 11 AC 1E 00 01 00:59:09 route,ospf,debug,raw AC 1E 00 78 02 01 00 30 0A 00 00 01 00 00 00 00 00:59:09 route,ospf,debug,raw 3B E5 00 00 30 E3 E5 01 00 00 00 00 FF FF FF 00 00:59:09 route,ospf,debug,raw 00 0A 02 1E 00 00 00 28 AC 1E 00 01 00 00 00 00 00:59:09 route,ospf,debug,raw 0A 00 00 78 00:59:09 route,ospf,info Discarding packet: wrong chekcsum 00:59:09 route,ospf,info source=172.30.0.1 00:59:11 route,ospf,debug RECV: Database Description <- 172.30.0.1 on vlan2000 (172.30.0.120) 00:59:11 route,ospf,debug,raw PACKET: 00:59:11 route,ospf,debug,raw 45 C0 00 34 74 DB 00 00 40 59 AC 20 AC 1E 00 01 00:59:11 route,ospf,debug,raw AC 1E 00 78 02 02 00 20 0A 00 00 01 00 00 00 00 00:59:11 route,ospf,debug,raw 12 9C 00 00 30 E3 E5 01 00 00 00 00 05 DC 02 07 00:59:11 route,ospf,debug,raw BB 69 1D F4 00:59:11 route,ospf,info Discarding packet: wrong chekcsum 00:59:11 route,ospf,info source=172.30.0.1 00:59:19 route,ospf,debug RECV: Hello <- 172.30.0.1 on vlan2000 (172.30.0.120) 00:59:19 route,ospf,debug,raw PACKET: 00:59:19 route,ospf,debug,raw 45 C0 00 40 74 DC 00 00 40 59 AC 13 AC 1E 00 01 00:59:19 route,ospf,debug,raw AC 1E 00 78 02 01 00 2C 0A 00 00 01 00 00 00 00 00:59:19 route,ospf,debug,raw 46 61 00 00 30 E3 E5 01 00 00 00 00 FF FF FF 00 00:59:19 route,ospf,debug,raw 00 0A 02 1E 00 00 00 28 AC 1E 00 01 00 00 00 00 00:59:19 route,ospf,info Discarding packet: wrong chekcsum 00:59:19 route,ospf,info source=172.30.0.1 bird lsa db: bird> show ospf lsadb Global Type LS ID Router Age Sequence Checksum 0005 0.0.0.0 10.0.0.1 544 80000001 a1f0 Area 0.0.0.0 Type LS ID Router Age Sequence Checksum 0001 10.0.0.1 10.0.0.1 467 80000001 4224 Here is tcpdump: http://consi.jest.pro/ospf.dump Similar problem here: http://www.mail-archive.com/bird-users@atrey.karlin.mff.cuni.cz/msg01037.htm... Please help! :(
On Wed, May 18, 2011 at 09:41:14PM +0200, Marek Wajdzik wrote:
Hi.
172.30.0.1 - compiled from fresh sources: bird 1.3.1 running debian with kernel 2.6.38.6 x64 172.30.0.120 - It is a mikrotik routeros version 5.2 node with configured ospf.
When I restart the ospf in bird (birdc restrart OSPF) :P Mikrotik says:
Hello Could you try BIRD with this (attached) patch? -- 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."
W dniu 2011-05-19 00:41, Ondrej Zajicek pisze:
On Wed, May 18, 2011 at 09:41:14PM +0200, Marek Wajdzik wrote:
Hi.
172.30.0.1 - compiled from fresh sources: bird 1.3.1 running debian with kernel 2.6.38.6 x64 172.30.0.120 - It is a mikrotik routeros version 5.2 node with configured ospf.
When I restart the ospf in bird (birdc restrart OSPF) :P Mikrotik says:
Hello
Could you try BIRD with this (attached) patch?
Just applied this one and looks the issue is gone. However, I had more ways to trigger 'wrong checksum' on MTs so I will try them all now and report. Regards -- Adrian
On Thu, May 19, 2011 at 12:36:38AM +0200, Adrian Czapek wrote:
W dniu 2011-05-19 00:41, Ondrej Zajicek pisze:
On Wed, May 18, 2011 at 09:41:14PM +0200, Marek Wajdzik wrote:
Hi.
172.30.0.1 - compiled from fresh sources: bird 1.3.1 running debian with kernel 2.6.38.6 x64 172.30.0.120 - It is a mikrotik routeros version 5.2 node with configured ospf.
When I restart the ospf in bird (birdc restrart OSPF) :P Mikrotik says:
Hello
Could you try BIRD with this (attached) patch?
Just applied this one and looks the issue is gone. However, I had more ways to trigger 'wrong checksum' on MTs so I will try them all now and report.
Hello There is authentication data field in OSPF packet, which should be ignored if authentication is not used. Mikrotik OSPF, contrary to the RFC, checked the value of this field (or used the value when computed checksums) in that case. Because BIRD sent some random values in that, Mikrotik rejected that packets, that caused incompatibility. This patch fixed that. So the problem was triggered essentially by some unpredictable changes in memory and i would expect all the ways to trigger that problem caused that. -- 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."
W dniu 2011-05-19 01:12, Ondrej Zajicek pisze:
On Thu, May 19, 2011 at 12:36:38AM +0200, Adrian Czapek wrote:
W dniu 2011-05-19 00:41, Ondrej Zajicek pisze:
On Wed, May 18, 2011 at 09:41:14PM +0200, Marek Wajdzik wrote:
Hi.
172.30.0.1 - compiled from fresh sources: bird 1.3.1 running debian with kernel 2.6.38.6 x64 172.30.0.120 - It is a mikrotik routeros version 5.2 node with configured ospf.
When I restart the ospf in bird (birdc restrart OSPF) :P Mikrotik says: Hello
Could you try BIRD with this (attached) patch?
Just applied this one and looks the issue is gone. However, I had more ways to trigger 'wrong checksum' on MTs so I will try them all now and report. Hello
There is authentication data field in OSPF packet, which should be ignored if authentication is not used. Mikrotik OSPF, contrary to the RFC, checked the value of this field (or used the value when computed checksums) in that case. Because BIRD sent some random values in that, Mikrotik rejected that packets, that caused incompatibility. This patch fixed that.
So the problem was triggered essentially by some unpredictable changes in memory and i would expect all the ways to trigger that problem caused that.
Hi. After 9 days of testing bird (ca. 90 routers, 700 pfx.) with this patch I didn't noticed any issues with ospf. It works really great now. Thanks.
participants (3)
-
Adrian Czapek -
Marek Wajdzik -
Ondrej Zajicek