* Hello! *> >* Trying to run bird on ethernet interface with type = ptmp. Yes, I know that *>* ethernet is broadcast interface, but there is a good practice to use ptmp *>* on ethernet. I found a strange bug. When type = ptmp, bird sends only one *>* Hello packet and then stops (and even receive?) next packets until I fully *>* restart bird, while other side (cisco or mikrotik) sends packets every 10s *>* (as configured).
* There is no problems with type = broadcast
* FreeBSD - 11-STABLE *>* Bird 1.6.3
Hello, Ondrej! There was something wrong with my previous test. So I did new one. Answering your questions: 1) Where interface is broadcast and mode is ptmp - bird does not send any packet (checked with tcpdump) but with "debug all" there are messages "<TRACE> main_ospf: HELLO packet sent via em0" every tick. 2) Yes, if neighbors are configured ptmp works as expected. Without neighbors configured it even does not learn neighbors from incoming packets. 3) I read FreeBSD related post, but 1.6.3 is official port for FreeBSD and it includes patch: +#if (defined __OpenBSD__) || (defined __DragonFly__) || (defined __FreeBSD__ && (__FreeBSD_version >= 1100030)) + /* Different BSDs have different expectations of ip_len endianity */ ip->ip_len = htons(ip->ip_len); #endif 4) There really are no problems with mode == broadcast * Hello To which address it sends the Hello packet? To the first learned neighbor? What you see in logs if you enable 'debug all' for OSPF? What is shown by 'show ospf neighbors'? Note that BIRD expect that you specify neighbors in 'neighbors' section for NBMA or PTMP modes, but it would learn neighbors from received Hello packets. * * There were people reporting problems in FreeBSD 11 due to API change, but that would affect also broadcast mode: https://www.mail-archive.com/bird-users@network.cz/msg01542.html -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org <http://trubka.network.cz/mailman/listinfo/bird-users>) 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 Sun, Feb 19, 2017 at 05:47:16AM +0000, Борис Коваленко wrote:
Hello, Ondrej!
Hello
There was something wrong with my previous test. So I did new one.
Answering your questions:
1) Where interface is broadcast and mode is ptmp - bird does not send any packet (checked with tcpdump) but with "debug all" there are messages "<TRACE> main_ospf: HELLO packet sent via em0" every tick.
It seems that the message is logged and then HELLO packet is sent for each neigbhor in a list. If the list is empty, then message is logged but no packets are sent.
2) Yes, if neighbors are configured ptmp works as expected. Without neighbors configured it even does not learn neighbors from incoming packets.
Do you see incoming HELLO packets in BIRD log? Do they have matching IP addresses (src/dst)? Do you seen neighbors in 'show ospf neighbors'? Don't you have enabled 'strict nbma'? -- 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."
1) No, there are no incoming HELLOs in log 2) AFAIK Cisco (for example) in PTMP mode also send packet from IP to 224.0.0.5 (checked with debug ip ospf hello) 3) No neighbors 4) No, strict nbma is not set Regards, Boris пн, 20 февр. 2017 г. в 3:58, Ondrej Zajicek <santiago@crfreenet.org>:
On Sun, Feb 19, 2017 at 05:47:16AM +0000, Борис Коваленко wrote:
Hello, Ondrej!
Hello
There was something wrong with my previous test. So I did new one.
Answering your questions:
1) Where interface is broadcast and mode is ptmp - bird does not send any packet (checked with tcpdump) but with "debug all" there are messages "<TRACE> main_ospf: HELLO packet sent via em0" every tick.
It seems that the message is logged and then HELLO packet is sent for each neigbhor in a list. If the list is empty, then message is logged but no packets are sent.
2) Yes, if neighbors are configured ptmp works as expected. Without neighbors configured it even does not learn neighbors from incoming packets.
Do you see incoming HELLO packets in BIRD log?
Do they have matching IP addresses (src/dst)?
Do you seen neighbors in 'show ospf neighbors'?
Don't you have enabled 'strict nbma'?
-- 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."
-- С уважением, Борис Коваленко
Hello! Any suggestions? Regards, Boris пн, 20 февр. 2017, 9:06 Борис Коваленко <b.ju.kovalenko@gmail.com>: 1) No, there are no incoming HELLOs in log 2) AFAIK Cisco (for example) in PTMP mode also send packet from IP to 224.0.0.5 (checked with debug ip ospf hello) 3) No neighbors 4) No, strict nbma is not set Regards, Boris пн, 20 февр. 2017 г. в 3:58, Ondrej Zajicek <santiago@crfreenet.org>: On Sun, Feb 19, 2017 at 05:47:16AM +0000, Борис Коваленко wrote:
Hello, Ondrej!
Hello
There was something wrong with my previous test. So I did new one.
Answering your questions:
1) Where interface is broadcast and mode is ptmp - bird does not send any packet (checked with tcpdump) but with "debug all" there are messages "<TRACE> main_ospf: HELLO packet sent via em0" every tick.
It seems that the message is logged and then HELLO packet is sent for each neigbhor in a list. If the list is empty, then message is logged but no packets are sent.
2) Yes, if neighbors are configured ptmp works as expected. Without neighbors configured it even does not learn neighbors from incoming packets.
Do you see incoming HELLO packets in BIRD log? Do they have matching IP addresses (src/dst)? Do you seen neighbors in 'show ospf neighbors'? Don't you have enabled 'strict nbma'? -- 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 Sat, Feb 25, 2017 at 06:38:24AM +0000, Борис Коваленко wrote:
пн, 20 февр. 2017, 9:06 Борис Коваленко <b.ju.kovalenko@gmail.com>:
1) No, there are no incoming HELLOs in log
Hi That looks strange. Could you send me output of tcpdump (with Hello packets from the other side), config file and output of 'show interfaces' and 'show ospf interfaces'? -- 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."
Hello, Ondrej! Something strange. So, FreeBSD 11 with bird 1.6.3, and Mikrotik 6.38.3. As said previous - no problems with broadcast mode. When PtP - no luck. OSPF is running on em0.102 interface. FreeBSD IP is X.X.16.82, and lo1 is X.X.16.78 [root@ugw]~# tcpdump -n -i em0.102 -vvv proto ospf tcpdump: listening on em0.102, link-type EN10MB (Ethernet), capture size 262144 bytes 23:11:05.124319 IP (tos 0x0, ttl 1, id 28683, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0025009e Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.78 23:11:05.124365 IP (tos 0xc0, ttl 1, id 11981, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.82 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.78, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0024f83e Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.77 23:11:15.129276 IP (tos 0x0, ttl 1, id 28686, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0025009f Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.78 23:11:15.129321 IP (tos 0xc0, ttl 1, id 59292, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.82 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.78, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0024f83f Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.77 em0 DOWN (index=1) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 em1 DOWN (index=2) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 lo0 up (index=3) MultiAccess AdminUp LinkUp Loopback Ignored MTU=16384 127.0.0.1/8 (Primary, scope host) enc0 DOWN (index=4) MultiAccess AdminDown LinkUp MTU=1536 em0.102 up (index=5) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 X.X.16.82/28 (Primary, scope univ) em1.600 up (index=6) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 X.X.1.254/23 (Primary, scope univ) em1.4065 up (index=7) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 X.X.255.1/28 (Primary, scope site) lo1 up (index=8) MultiAccess AdminUp LinkUp Loopback Ignored MTU=16384 X.X.16.78/32 (Primary, scope univ) em1.21 up (index=9) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 X.X.16.203/31 (Primary, opposite 80.64.16.202, scope univ) bird> show ospf interface main_ospf: Interface em1.21 (X.X.16.202/31) Type: ptp Area: 0.0.1.1 (257) State: PtP Priority: 1 Cost: 10 Hello timer: 10 Wait timer: 40 Dead timer: 40 Retransmit timer: 5 Interface em1.4065 (X.X.255.0/28) Type: broadcast Area: 0.0.1.1 (257) State: Waiting (stub) Priority: 1 Cost: 10 Hello timer: 10 Wait timer: 40 Dead timer: 40 Retransmit timer: 5 Designated router (ID): 0.0.0.0 Designated router (IP): 0.0.0.0 Backup designated router (ID): 0.0.0.0 Backup designated router (IP): 0.0.0.0 Interface em1.600 (X.X.0.0/23) Type: broadcast Area: 0.0.1.1 (257) State: DR Priority: 1 Cost: 10 Hello timer: 10 Wait timer: 40 Dead timer: 40 Retransmit timer: 5 Designated router (ID): X.X.16.78 Designated router (IP): X.X.1.254 Backup designated router (ID): 0.0.0.0 Backup designated router (IP): 0.0.0.0 Interface lo1 (X.X.16.78/32) Type: ptp Area: 0.0.0.0 (0) State: PtP (stub) Priority: 0 Cost: 10 Hello timer: 60 Wait timer: 240 Dead timer: 30 Retransmit timer: 10 Interface em0.102 (X.X.16.80/28) Type: ptp Area: 0.0.0.0 (0) State: PtP Priority: 1 Cost: 10 Hello timer: 10 Wait timer: 40 Dead timer: 40 Retransmit timer: 5 area 0.0.0.0 { interface "lo1" { stub yes; priority 0; type ptp; hello 60; retransmit 10; dead 30; }; interface "em0.102" { # #priority 0; type ptp; # cost 10; hello 10; retransmit 5; dead 40; # authentication cryptographic; password "XXXXXX" { id 1; algorithm keyed md5; }; }; }; Regards, Boris вт, 28 февр. 2017 г. в 5:13, Ondrej Zajicek <santiago@crfreenet.org>:
On Sat, Feb 25, 2017 at 06:38:24AM +0000, Борис Коваленко wrote:
пн, 20 февр. 2017, 9:06 Борис Коваленко <b.ju.kovalenko@gmail.com>:
1) No, there are no incoming HELLOs in log
Hi
That looks strange. Could you send me output of tcpdump (with Hello packets from the other side), config file and output of 'show interfaces' and 'show ospf interfaces'?
-- 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 Sat, Mar 04, 2017 at 06:19:54PM +0000, Борис Коваленко wrote:
Hello, Ondrej!
Something strange. So, FreeBSD 11 with bird 1.6.3, and Mikrotik 6.38.3. As said previous - no problems with broadcast mode. When PtP - no luck. OSPF is running on em0.102 interface. FreeBSD IP is X.X.16.82, and lo1 is X.X.16.78
Hello Is the tcpdump log from PtP mode? As in the Hello packets both have each other in neighbor lists, so they see each other. Also, you wrote about PtMP mode before, not PtP (although both should work).
[root@ugw]~# tcpdump -n -i em0.102 -vvv proto ospf tcpdump: listening on em0.102, link-type EN10MB (Ethernet), capture size 262144 bytes 23:11:05.124319 IP (tos 0x0, ttl 1, id 28683, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0025009e Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.78 23:11:05.124365 IP (tos 0xc0, ttl 1, id 11981, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.82 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.78, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0024f83e Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.77
-- 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."
Hello, Ondrej! Ough. It was deep night when I returned to this problem. Of course you are right. Here is info for ptmp. No packets from FreeBSD. [root@ugw]~# tcpdump -n -i em0.102 -vvv proto ospf tcpdump: listening on em0.102, link-type EN10MB (Ethernet), capture size 262144 bytes 09:47:20.696959 IP (tos 0x0, ttl 1, id 40406, offset 0, flags [none], proto OSPF (89), length 80) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 44 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x002595db Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 09:47:30.692401 IP (tos 0x0, ttl 1, id 40409, offset 0, flags [none], proto OSPF (89), length 80) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 44 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x002595dc Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 09:47:40.698296 IP (tos 0x0, ttl 1, id 40412, offset 0, flags [none], proto OSPF (89), length 80) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 44 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x002595dd Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 09:47:50.703611 IP (tos 0x0, ttl 1, id 40415, offset 0, flags [none], proto OSPF (89), length 80) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 44 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x002595de Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 em0.102 up (index=5) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 80.64.16.82/28 (Primary, scope univ) Interface em0.102 (80.64.16.80/28) Type: ptmp Area: 0.0.0.0 (0) State: PtP Priority: 0 Cost: 10 Hello timer: 10 Wait timer: 40 Dead timer: 40 Retransmit timer: 5 bird> interface "em0.102" { # priority 0; type ptmp; # cost 10; hello 10; retransmit 5; dead 40; # authentication cryptographic; password "XXXXX" { id 1; algorithm keyed md5; }; }; }; Regards, Boris вс, 5 мар. 2017 г. в 6:21, Ondrej Zajicek <santiago@crfreenet.org>: On Sat, Mar 04, 2017 at 06:19:54PM +0000, Борис Коваленко wrote:
Hello, Ondrej!
Something strange. So, FreeBSD 11 with bird 1.6.3, and Mikrotik 6.38.3. As said previous - no problems with broadcast mode. When PtP - no luck. OSPF is running on em0.102 interface. FreeBSD IP is X.X.16.82, and lo1 is X.X.16.78
Hello Is the tcpdump log from PtP mode? As in the Hello packets both have each other in neighbor lists, so they see each other. Also, you wrote about PtMP mode before, not PtP (although both should work).
[root@ugw]~# tcpdump -n -i em0.102 -vvv proto ospf tcpdump: listening on em0.102, link-type EN10MB (Ethernet), capture size 262144 bytes 23:11:05.124319 IP (tos 0x0, ttl 1, id 28683, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.94 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.77, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0025009e Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.78 23:11:05.124365 IP (tos 0xc0, ttl 1, id 11981, offset 0, flags [none], proto OSPF (89), length 84) X.X.16.82 > 224.0.0.5: OSPFv2, Hello, length 48 Router-ID X.X.16.78, Backbone Area, Authentication Type: MD5 (2) Key-ID: 1, Auth-Length: 16, Crypto Sequence Number: 0x0024f83e Options [External] Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.240, Priority 1 Neighbor List: X.X.16.77
-- 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 Sun, Mar 05, 2017 at 04:51:47AM +0000, Борис Коваленко wrote:
Hello, Ondrej!
Ough. It was deep night when I returned to this problem. Of course you are right. Here is info for ptmp. No packets from FreeBSD.
Well, it is clear. Because PtMP mode in BIRD does not use multicast (as per RFC 2328), it also does not register on appropriate multicast group and therefore does not receive multicast packets from OS. Perhaps PtP mode could do what you want even with multiple neighbors. -- 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."
participants (2)
-
Ondrej Zajicek -
Борис Коваленко