Hi Robert !
That made it work again. I share your view on relative beauty here.
There are also 2 other observations with a 8.99.12 userland:
named has now trouble with interface scanning.
2018-04-24T05:13:34.522295+00:00 gateway named 345 - - automatic
interface scanning terminated: not enough free resources
syslogd has sometimes issues with /var/run/log
2018-04-24T05:13:34.542548+00:00 gateway syslogd 408 - - recvfrom() unix
`/var/run/log': No buffer space available
Looks like the may be more issues with (compatibility) code.
Thanks for the (preliminary) fix.
Frank
On 04/24/18 00:34, Robert Swindells wrote:
Frank Kardel <kar...@netbsd.org> wrote:
using -current as of 20180421 (NetBSD 8.99.14 (GENERIC) #0: Sat Apr 21
23:01:29 UTC 2018
mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64)
no cloning interfaces are visible:
gateway# ifconfig -l
ixg0 ixg1 ixg2 ixg3 lo0 tun0 tun1
gateway# ifconfig -C
ifconfig: SIOCIFGCLONERS for count: Device not configured
gateway# ifconfig vlan0 create
ifconfig: clone_command: Device not configured
ifconfig: exec_matches: Device not configured
gateway#
This does not seem to be a desirable state - any clues what broke here ?
It looks to be the test for a valid interface name in
sys/compat/common/uipc_syscalls_50.c that is causing this, I think it
should only be done when the ioctl command is SIOCGIFDATA or SIOCZIFDATA.
This works for me but is a bit ugly:
Index: uipc_syscalls_50.c
===================================================================
RCS file: /cvsroot/src/sys/compat/common/uipc_syscalls_50.c,v
retrieving revision 1.4
diff -u -r1.4 uipc_syscalls_50.c
--- uipc_syscalls_50.c 12 Apr 2018 18:50:13 -0000 1.4
+++ uipc_syscalls_50.c 23 Apr 2018 22:33:14 -0000
@@ -63,9 +63,17 @@
struct ifnet *ifp;
int error;
- ifp = ifunit(ifdr->ifdr_name);
- if (ifp == NULL)
- return ENXIO;
+ switch (cmd) {
+ case SIOCGIFDATA:
+ case SIOCZIFDATA:
+ ifp = ifunit(ifdr->ifdr_name);
+ if (ifp == NULL)
+ return ENXIO;
+ break;
+ default:
+ ifp = NULL;
+ break;
+ }
switch (cmd) {
case SIOCGIFDATA: