bin/94028: Show-stopping regression in sbin/ifconfig

Ade Lovett ade at FreeBSD.org
Thu Mar 2 09:00:31 PST 2006


>Number:         94028
>Category:       bin
>Synopsis:       Show-stopping regression in sbin/ifconfig
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 02 17:00:19 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Ade Lovett
>Release:        FreeBSD 6.0-STABLE i386
>Organization:
>Environment:

RELENG_6, all architectures

>Description:
Revision 1.7.2.4 of sbin/ifconfig/ifvlan.c has introduced a critical
regression into the handling of ifconfig on vlan interfaces.

This is a show-stopping problem for the impending 6.1-RELEASE, hence
the cc to re@

>How-To-Repeat:

With the following parent interface:

foo# ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 8448
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
[...]

The following can be observed:

foo# ifconfig vlan9 destroy
foo# ifconfig vlan9 create
foo# ifconfig vlan9 vlan 666 vlandev em0 mtu 1500
ifconfig: ioctl (set mtu): Invalid argument
foo#

However, this works:

foo# ifconfig vlan9 destroy
foo# ifconfig vlan9 create
foo# ifconfig vlan9 vlan 666 vlandev em0
foo# ifconfig vlan9 mtu 1500
foo# ifconfig vlan9
vlan9: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        [...]
        vlan: 666 parent interface: em0
foo#

Reverting to revision 1.7.2.3 of sbin/ifconfig/ifvlan.c shows the
expected behavior:

foo# ifconfig vlan9 destroy
foo# ifconfig vlan9 create
foo# ifconfig vlan9 vlan 666 vlandev em0 mtu 1500
foo# ifconfig vlan9
vlan9: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        [...]
        vlan: 666 parent interface: em0
foo#

>Fix:
Revert back to 1.7.2.3 of sbin/ifconfig/ifvlan.c


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list