Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jul 2008 05:08:47 +0200
From:      =?UTF-8?Q?Daniel_Dvo=C5=99=C3=A1k?= <dandee@hellteam.net>
To:        "'Boris Kovalenko'" <boris@tagnet.ru>
Cc:        ports@FreeBSD.org, quagga-users@lists.quagga.net
Subject:   RE: FreeBSD Port: quagga-0.99.9_7
Message-ID:  <C5E943F078AD43BE975F28CDFB1A0FE8@tocnet28.jspoj.czf>
References:  <000001c87801$bd411a80$6508280a@tocnet28.jspoj.czf> <47C3A89C.5000503@tagnet.ru> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Boris, :)

My last current problem with quagga is associated with the new multicast =
API for FreeBSD 7.0-RELEASE.

OSPF does not work at all, and I am very surprised that no one has =
pointed out since February, which is officially FreeBSD 7 in the world.

OSPF indefinitely crashes on the signal 11.

The problem is already long described on the Web bugzilla.quagga.net.

This link with the concerns:
http://bugzilla.quagga.net/show_bug.cgi?id=3D420

The content of directory /usr/ports/net/quagga/files, you can see that =
the problem relates to the file =
/usr/ports/net/quagga/files/patch-lib-sockopt.c.

This, however, differs from the patch, which provide Mykola Dzham =
2007-12-12 20:56 here:
http://levsha.org.ua/sockopt.c.diff

However, this is actually one, the same, because I have tried quagga =
from ports with and without Mykola=C2=B4s patch and the result is always =
the same:

2008/07/04 00:35:25 informational: OSPF: ospfTrapIfStateChange trap =
sent: 10.40.128.13 now DR
OSPF: Received signal 11 at 1215124525 (si_addr 0x4); aborting ...
2008/07/04 03:37:11 debugging: OSPF: ospf_new: starting with OSPF send =
buffer size 9216
2008/07/04 03:37:11 debugging: OSPF: Router-ID [OLD: 0.0.0.0]: Update
2008/07/04 03:37:11 debugging: OSPF: Router-ID [NEW: 0.0.0.0]: Update
2008/07/04 03:37:11 debugging: OSPF: Router-ID [OLD: 0.0.0.0]: Update
2008/07/04 03:37:11 debugging: OSPF: Router-ID [NEW: 10.40.0.3]: Update
2008/07/04 03:37:11 debugging: OSPF: Redistribute [static]: Start Type =
[0], Metric [20]
2008/07/04 03:37:11 informational: OSPF: ASBR [Status: 1]: Update
2008/07/04 03:37:11 debugging: OSPF: SPF: calculation timer scheduled
2008/07/04 03:37:11 debugging: OSPF: SPF: calculation timer delay =3D =
1000
2008/07/04 03:37:11 debugging: OSPF: Redistribute [bgp]: Start Type [0], =
Metric [20]
2008/07/04 03:37:11 informational: OSPF: ASBR [Status: 2]: Update
2008/07/04 03:37:11 informational: OSPF: ASBR [Status: 2]: Already ASBR
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:11 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:11 debugging: OSPF: Area [0.0.0.3]: Configured as Stub
2008/07/04 03:37:11 debugging: OSPF: Scheduling ABR task
2008/07/04 03:37:11 debugging: OSPF: Scheduling ABR task
2008/07/04 03:37:12 notifications: OSPF: OSPFd 0.99.10 starting: vty @ =
2604
2008/07/04 03:37:12 debugging: OSPF: Timer [router-LSA]: (router =
LSA-Refresh expire)
2008/07/04 03:37:12 debugging: OSPF: counting fully virtual neighbors in =
adjacent area 0.0.0.3
2008/07/04 03:37:12 debugging: OSPF: there are of them 0
2008/07/04 03:37:12 debugging: OSPF: SPF: calculation timer scheduled
2008/07/04 03:37:12 debugging: OSPF: SPF: calculation timer is already =
scheduled: 0x5b9658
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface add ath0 index 2 =
flags 34883 metric 1 mtu 1500
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 0
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 0
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface ath0 address add =
fe80:: 20th: 6bff: fe35: d0af/64
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface ath0 address add =
10.40.128.13/30
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 0
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 0
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: Timer [router-LSA]: (router =
LSA-Refresh expire)
2008/07/04 03:37:12 debugging: OSPF: counting fully virtual neighbors in =
adjacent area 0.0.0.0
2008/07/04 03:37:12 debugging: OSPF: there are of them 0
2008/07/04 03:37:12 debugging: OSPF: SPF: calculation timer scheduled
2008/07/04 03:37:12 debugging: OSPF: SPF: calculation timer is already =
scheduled: 0x5b9658
2008/07/04 03:37:12 debugging: OSPF: ospf_flood_through_interface (): =
int considering ath0: 10.40.128.13, INBR (NULL), LSA [Type1, id =
(10.40.0.3), ar (10.40.0.3)]
2008/07/04 03:37:12 debugging: OSPF: ospf_flood_through_interface (): =
considering nbr 10.40.0.3 (2-Way)
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface ath0 address add =
2a01: 490:12:1040:128:12:0:1 / 96
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface add ath1 index 3 =
flags 34883 metric 1 mtu 1500
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface ath1 address add =
fe80:: 20th: 6bff: fe35: dcb1/64
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface ath1 address add =
10.40.192.13/30
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface ath1 address add =
2a01: 490:12:1040:192:12:0:1 / 96
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface lo0 index add 5 =
flags 32841 metric 1 mtu 16384
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface lo0 address add: 1 =
/ 128
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface lo0 address add =
fe80:: 1 / 64
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface lo0 add address =
127.0.0.1 / 8
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface add lo1 index 6 =
flags 32841 metric 1 mtu 16384
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface lo1 address add =
10.40.0.3/32
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface lo1 address add =
2a01: 490:12:1040: 3 / 128
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface add msk0 index 1 =
flags 34883 metric 1 mtu 1500
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface msk0 address add =
fe80:: 200:5 aff: fe00: 7b/64
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface msk0 address add =
10.40.3.1/26
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 2
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: SPF: calculation timer scheduled
2008/07/04 03:37:12 debugging: OSPF: SPF: calculation timer is already =
scheduled: 0x5b9658
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): new =
router flags: 3
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): Start
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status () looked =
through areas
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_configured: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
bb_act_attached: 1
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_configured: 2
2008/07/04 03:37:12 debugging: OSPF: ospf_check_abr_status (): =
areas_act_attached: 2
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface msk0 address add =
2a01: 490:12:1040:3: 1 / 96
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface add re0 index 4 =
flags 34883 metric 1 mtu 1500
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface re0 address add =
fe80:: 21st: 7dff: fed4: a34b/64
2008/07/04 03:37:12 debugging: OSPF: Zebra: interface re0 address add =
10.40.64.13/30
2008/07/04 03:37:12 informational: OSPF: ospfTrapIfStateChange trap =
sent: 10.40.64.13 now Point-To-Point
OSPF: Received signal 11 at 1215135432 (si_addr 0x4); aborting ...

OSPFisKO # netstat-g
netstat: sysctl: net.inet.ip.mfctable: No such file or directory
netstat: sysctl: net.inet6.ip6.mif6table: No such file or directory
WARNING: This functionality is deprecated, and will be removed
in FreeBSD 7.0. Please consider using ifmcstat (8) instead.
Link-layer Multicast Group Memberships
Group Link-layer Address Netif
33:33:00:00:00:06 <none> msk0
33:33:00:00:00:05 <none> msk0
33:33: ff: 00:00:01 <none> msk0
01:00:5 e: 00:00:01 <none> msk0
33:33:3 c: 91:97:63 <none> msk0
33:33:00:00:00:01 <none> msk0
33:33: ff: 00:00:7 b <none> msk0
33:33:00:00:00:06 <none> re0
33:33:00:00:00:05 <none> re0
33:33: ff: 00:00:01 <none> re0
01:00:5 e: 00:00:01 <none> re0
33:33:3 c: 91:97:63 <none> re0
33:33:00:00:00:01 <none> re0
33:33: ff: d4: a3: 4th <none> re0

IPv4 Multicast Group Memberships
Group Link-layer Address Netif
224.0.0.1 01:00:5 e: 00:00:01 msk0
224.0.0.1 01:00:5 e: 00:00:01 re0
224.0.0.1 <none> lo0
224.0.0.1 <none> lo1

IPv6 Multicast Group Memberships
Group Link-layer Address Netif
ff02: 1:: 6 33:33:00:00:00:06 msk0
ff02: 1:: 5 33:33:00:00:00:05 msk0
ff02: 1:: 1: ff00: 1 33:33: ff: 00:00:01 msk0
ff01: 1: 1 33:33:00:00:00:01 msk0
ff02: 1:: 2:3 c91: 9763 33:33:3 c: 91:97:63 msk0
ff02: 1: 1 33:33:00:00:00:01 msk0
ff02: 1:: 1: ff00: 7th 33:33: ff: 00:00:7 b msk0
ff02: 4: 6 33:33:00:00:00:06 re0
ff02: 4: 5 33:33:00:00:00:05 re0
ff02: 4:: 1: ff00: 1 33:33: ff: 00:00:01 re0
ff01: 4: 1 33:33:00:00:00:01 re0
ff02: 4:: 2:3 c91: 9763 33:33:3 c: 91:97:63 re0
ff02: 4: 1 33:33:00:00:00:01 re0
ff02: 4:: 1: ffd4: a34b 33:33: ff: d4: a3: 4th re0
ff01: 5: 1 <none> lo0
ff02: 5:: 2:3 c91: 9763 <none> lo0
ff02: 5: 1 <none> lo0
ff02: 5: 1: ff00: 1 <none> lo0
ff02: 6:: 6 <none> lo1
ff02: 6:: 5 <none> lo1
ff01: 6: 1 <none> lo1
ff02: 6:: 2:3 c91: 9763 <none> lo1
ff02: 6:: 1 <none> lo1
ff02: 6:: 1: ff00: 3 <none> lo1
OSPFisKO # ifmcstat
msk0:
         inet 10.40.3.1
                 group 224.0.0.1
                         mcast-macaddr 01:00:5 e: 00:00:01 refcnt 1
         inet6 fe80:: 200:5 aff: fe00: 7th% msk0
         inet6 2a01: 490:12:1040:3: 1
                 ff02 group: 6% msk0 refcnt 1
                         mcast-macaddr 33:33:00:00:00:06 refcnt 1
                 ff02 group: 5% msk0 refcnt 1
                         mcast-macaddr 33:33:00:00:00:05 refcnt 1
                 ff02 group: 1: ff00: 1% msk0 refcnt 1
                         mcast-macaddr 33:33: ff: 00:00:01 refcnt 1
                 ff01 group: 1% msk0 refcnt 2
                         mcast-macaddr 33:33:00:00:00:01 refcnt 1
                 group ff02:: 2:3 c91: 9763% msk0 refcnt 2
                         mcast-macaddr 33:33:3 c: 91:97:63 refcnt 1
                 ff02 group: 1% msk0 refcnt 2
                         mcast-macaddr 33:33:00:00:00:01 refcnt 1
                 ff02 group: 1: ff00: 7th% msk0 refcnt 1
                         mcast-macaddr 33:33: ff: 00:00:7 b refcnt 1
re0:
         inet 10.40.64.13
         inet 10.40.2.133
                 group 224.0.0.1
                         mcast-macaddr 01:00:5 e: 00:00:01 refcnt 1
         inet6 fe80:: 21st: 7dff: fed4: a34b% re0
         inet6 2a01: 490:12:1040:64:12:0:1
                 ff02 group: 6% re0 refcnt 1
                         mcast-macaddr 33:33:00:00:00:06 refcnt 1
                 ff02 group: 5% re0 refcnt 1
                         mcast-macaddr 33:33:00:00:00:05 refcnt 1
                 ff02 group: 1: ff00: 1% re0 refcnt 1
                         mcast-macaddr 33:33: ff: 00:00:01 refcnt 1
                 ff01 group: 1% re0 refcnt 2
                         mcast-macaddr 33:33:00:00:00:01 refcnt 1
                 group ff02:: 2:3 c91: 9763% re0 refcnt 2
                         mcast-macaddr 33:33:3 c: 91:97:63 refcnt 1
                 ff02 group: 1% re0 refcnt 2
                         mcast-macaddr 33:33:00:00:00:01 refcnt 1
                 ff02 group: 1: ffd4: a34b% re0 refcnt 1
                         mcast-macaddr 33:33: ff: d4: a3: 4th refcnt 1
lo0:
         inet 127.0.0.1
                 group 224.0.0.1
         inet6: 1
         inet6 fe80:: 1% lo0
                 ff01 group: 1% lo0 refcnt 2
                 group ff02:: 2:3 c91: 9763% lo0 refcnt 2
                 ff02 group: 1% lo0 refcnt 2
                 ff02 group: 1: ff00: 1% lo0 refcnt 2
lo1:
         inet 10.40.0.3
                 group 224.0.0.1
         inet6 2a01: 490:12:1040: 3
                 ff02 group: 6% lo1 refcnt 1
                 ff02 group: 5% lo1 refcnt 1
                 ff01 group: 1% lo1 refcnt 1
                 group ff02:: 2:3 c91: 9763% lo1 refcnt 1
                 ff02 group: 1% lo1 refcnt 1
                 ff02 group: 1: ff00: 3% lo1 refcnt 1
OSPFisKO# uname -a
FreeBSD OSPF.is.KO 7.0-RELEASE-p2 FreeBSD 7.0-RELEASE-p2 #0: Wed Jun 18 =
06:48:16 UTC 2008     =
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
OSPFisKO#

Where is 224.0.0.5 group? But it should be there.

If the quagga deos not join to the group 224.0.0.5, ospf network will =
never work.

If I can assist and send additional information, so I will do, but =
mainly I would welcome something to resolve this problem as soon as =
possible.

Thank you so much.

Respect,
Daniel




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C5E943F078AD43BE975F28CDFB1A0FE8>