FreeBSD, OSPF, and multicast

Claude Marinier claude.marinier at cae.com
Fri Nov 1 15:00:42 CET 2013


> -----Original Message-----
> From: Alexander V. Chernikov [mailto:melifaro at FreeBSD.org]
> Sent: Friday, November 01, 2013 9:52 AM
> To: Claude Marinier; Ondrej Filip; bird-users at bird.network.cz
> Subject: Re: FreeBSD, OSPF, and multicast
> 
> On 01.11.2013 17:38, Claude Marinier wrote:
> >> -----Original Message-----
> >> From: Claude Marinier
> >> Sent: Friday, November 01, 2013 9:05 AM
> >> To: 'Ondrej Filip'
> >> Subject: RE: FreeBSD, OSPF, and multicast
> >>
> >>> -----Original Message-----
> >>> From: owner-bird-users at atrey.karlin.mff.cuni.cz [mailto:owner-bird-
> >>> users at atrey.karlin.mff.cuni.cz] On Behalf Of Ondrej Filip
> >>> Sent: Thursday, October 31, 2013 6:37 PM
> >>> To: Claude Marinier; bird-users at bird.network.cz
> >>> Subject: Re: FreeBSD, OSPF, and multicast
> >>>
> >>> On 31.10.2013 14:38, Claude Marinier wrote:
> >>>> Hi,
> >>>>
> >>>> I am building a WAN emulator using a FreeBSD server with DummyNet
> >>>> for WAN effects and BIRD for OSPF. At first, no multicast packets
> >>>> left the server; then I added a default route and they left by that
> >>>> interface only. How can I configure the server so BIRD sends HELLO
> >>>> packets out all the interfaces.
> >>> Can you send 'show ospf interfaces' and maybe also check if there
> >>> are no errors
> >> BIRD 1.3.11 ready.
> >> bird> show ospf int
> >> WANemu:
> >> Interface bce0 (xxx.xxx.xxx.8/29)
> >>          Type: broadcast
> >>          Area: 0.0.0.0 (0)
> >>          State: dr
> >>          Priority: 1
> >>          Cost: 10
> >>          Hello timer: 10
> >>          Wait timer: 40
> >>          Dead timer: 40
> >>          Retransmit timer: 5
> >>          Designed router (ID): xxx.xxx.xxx.14
> >>          Designed router (IP): xxx.xxx.xxx.14
> >>          Backup designed router (ID): 0.0.0.0
> >>          Backup designed router (IP): 0.0.0.0 Interface bce1 (xxx.xxx.xxx.184/29)
> >>          Type: broadcast
> >>          Area: 0.0.0.0 (0)
> >>          State: dr
> >>          Priority: 1
> >>          Cost: 10
> >>          Hello timer: 10
> >>          Wait timer: 40
> >>          Dead timer: 40
> >>          Retransmit timer: 5
> >>          Designed router (ID): xxx.xxx.xxx.14
> >>          Designed router (IP): xxx.xxx.xxx.189
> >>          Backup designed router (ID): 0.0.0.0
> >>          Backup designed router (IP): 0.0.0.0
> >> bird> show ospf neighbors
> >> WANemu:
> >> Router ID       Pri          State      DTime   Interface  Router IP
> >> xxx.xxx.xxx.9     1         init/other  00:37   bce0       xxx.xxx.xxx.9
> >> xxx.xxx.xxx.185   1         init/other  00:33   bce1       xxx.xxx.xxx.185
> >>
> >>> bird> echo all
> >>> bird> debug all all
> >> There is a lot of output. How can this be restricted to HELLO messages?
> > Got something useful from 'debug all all'.
> >
> >>>> device1: Scanning interfaces
> >>>> WANemu: HELLO packet received from 131.140.113.9 via bce0
> >>>> WANemu: HELLO packet received from 131.140.113.185 via bce1
> >>>> device1: Scanning interfaces
> >>>> WANemu: HELLO packet sent via bce1
> >>>> WANemu: HELLO packet sent via bce0
> >>>> WANemu: HELLO packet received from 131.140.113.9 via bce0
> >>>> WANemu: HELLO packet received from 131.140.113.185 via bce1
> >
> > I am also running 'tcpdump' on one of the interfaces:
> >   - it does not show bird's HELLO packets
> Just to ensure: what filter expression is set for tcpdump?

None.

> >   - it does show the Cisco router's HELLO packets
> >   - it does show CDP packets from the Cisco router
> >   - it does show CDP packets from the server running bird
> Do you have some kind of firewall enabled (ipfw, pf, or..)?

Yes, IPFW is configured with some of the default entries (from sample config file) and pipes for delay.

00010 pipe 1 ip from any to any out xmit bce0
00020 pipe 2 ip from any to any out xmit bce1
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
65000 allow ip from any to any
65535 deny ip from any to any

I will look into removing the IPv6 rules later.

> >> I suspect that there is an underlying assumption (like IGMP or PIM)
> >> which I have not yet discovered.
> >>
> >>> 		Ondrej
> >>>
> >>>> Thank you.
> >>>>
> >>>> Details:
> >>>>
> >>>> FreeBSD WAMemu 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Thu Sep
> >>>> 26 22:50:31 UTC 2013
> >>>> root at bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
> >>>>
> >>>> bird-1.3.11
> >>>>
> >>>> P.S. I got it working by avoiding multicast with 'type
> >>>> nonbroadcast' and 'neighbors'.
> >>>> --
> >>>> Claude Marinier




More information about the Bird-users mailing list