Subject: kern/32548: if_ethersubr.c - pseudo-device tap depends on the presence of the ethernet interface
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <chwalek@poczta.onet.pl>
List: netbsd-bugs
Date: 01/16/2006 18:00:01
>Number:         32548
>Category:       kern
>Synopsis:       if_ethersubr.c - pseudo-device tap depends on the presence of the ethernet interface
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 16 18:00:01 +0000 2006
>Originator:     Pawel Chwalowski
>Release:        3.0
>Organization:
>Environment:
NetBSD wodogrzmot 3.0 NetBSD 3.0 (WODOGRZMOT) #4: Sun Jan 15 15:59:11 CET 2006  pawel@wodogrzmot:/usr/src/sys/arch/i386/compile/WODOGRZMOT i386
>Description:
I cant't compile kernel without ethernet devices.

After "make depend":
../../../../net/if_ethersubr.c:107:2: #error You have included NETATALK or a pseudo-device in your configuration that depends on the presence of ethernet interfaces, but have no such interfaces configured. Check if you really need pseudo-device bridge, pppoe, vlan or options NETATALK.
mkdep: compile failed.
*** Error code 1

Stop.
make: stopped in /usr/src/sys/arch/i386/compile/WODOGRZMOT.TEST



wodogrzmot: {17} grep NETATALK ../../conf/WODOGRZMOT.TEST
#options        NETATALK        # AppleTalk networking protocols


WODOGRZMOT.TEST config file:

# network pseudo-devices
pseudo-device   bpfilter        8       # Berkeley packet filter
pseudo-device   ipfilter                # IP filter (firewall) and NAT
pseudo-device   loop                    # network loopback
pseudo-device   ppp             2       # Point-to-Point Protocol
#pseudo-device  pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   sl              2       # Serial Line IP
pseudo-device   strip           2       # Starmode Radio IP (Metricom)
pseudo-device   irframetty              # IrDA frame line discipline
pseudo-device   tap                     # virtual Ethernet
pseudo-device   tun             2       # network tunneling over tty
pseudo-device   gre             2       # generic L3 over IP tunnel
pseudo-device   gif             4       # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device  faith           1       # IPv[46] tcp relay translation i/f
#pseudo-device  stf             1       # 6to4 IPv6 over IPv4 encapsulation
#pseudo-device  vlan                    # IEEE 802.1q encapsulation
#pseudo-device  bridge                  # simple inter-network bridging
#options        BRIDGE_IPF              # bridge uses IP/IPv6 pfil hooks too
#pseudo-device  pf                      # PF packet filter
#pseudo-device  pflog                   # PF log if
>How-To-Repeat:
Remove all ethernet devices from a kernel config file and try to recompile a kernel.
>Fix:
--- src/sys/net/if_ethersubr.c_ori	2006-01-15 15:10:35.000000000 +0100
+++ src/sys/net/if_ethersubr.c	2006-01-15 15:11:59.000000000 +0100
@@ -104,7 +104,7 @@
 /*
  * XXX there should really be a way to issue this warning from within config(8)
  */
-#error You have included NETATALK or a pseudo-device in your configuration that depends on the presence of ethernet interfaces, but have no such interfaces configured. Check if you really need pseudo-device bridge, pppoe, vlan or options NETATALK.
+#error You have included NETATALK or a pseudo-device in your configuration that depends on the presence of ethernet interfaces, but have no such interfaces configured. Check if you really need pseudo-device bridge, pppoe, tap, vlan or options NETATALK.
 #endif
 
 #if NBPFILTER > 0