NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/54151: COMPAT_50 doesn't work for ``route monitor''

>Number:         54151
>Category:       kern
>Synopsis:       COMPAT_50 doesn't work for ``route monitor''
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 02 11:15:00 +0000 2019
>Originator:     Paul Goyette
>Release:        NetBSD 8.99.37
| Paul Goyette       | PGP Key fingerprint:     | E-mail addresses:     |
| (Retired)          | FA29 0E3B 35AF E8AE 6651 |     |
| Software Developer | 0786 F758 55DE 53BA 7731 |   |
System: NetBSD 8.99.37 NetBSD 8.99.37 (SPEEDY 2019-04-24 23:45:06 UTC) #0: Thu Apr 25 09:00:09 UTC 2019 amd64
Architecture: x86_64
Machine: amd64
A NetBSD-5.2 version of the ``route monitor'' command fails on current
NetBSD kernels, producing no output.
1. Build a release, and install it (qemu VM is fine)
2. Create a /chroot52 directory, and unpack the base.tgz from NetBSD-5.2
3. Boot the result, login as root, and execute the commands

	# chroot /chroot52 route monitor &
	# ifconfig lo0 alias

4. A working system will display a couple of routing table update messages
   such as

	got message of size 152 on Wed May  1 04:43:57 2019
	RTM_ADD: Add Route: len 152, pid 463, seq 0, errno 0, flags: <UP,HOST> locks:  inits:
	sockaddrs: <DST,GATEWAY> lo0

   while a broken system displays nothing.

   A manual bisect shows that the ``route monitor'' command produces
   correct output with kernels built up to 2017-04-11 at 13:50 UTC.  With
   a newer kernel built from 14:00 or later, no output is produced.  Only
   one commit was made in that brief interval:

	Module Name:	src
	Committed By:	roy
	Date:		Tue Apr 11 13:55:55 UTC 2017

	Modified Files:
		src/share/man/man4: route.4
		src/sys/net: raw_cb.h raw_usrreq.c route.h rtsock.c

	Log Message:
	Add RO_MSGFILTER socket option to PF_ROUTE to filter out
	un-wanted route(4) messages.

	Inspired by the ROUTE_MSGFILTER equivalent in OpenBSD,
	but with an API which allows the full range of potential
	message types.



Home | Main Index | Thread Index | Old Index