bin/124004: Cannot assign both an IP and a MAC address to a bridge in one command

VANHULLEBUS Yvan vanhu_bsd at zeninc.net
Mon May 26 15:40:01 UTC 2008


>Number:         124004
>Category:       bin
>Synopsis:       Cannot assign both an IP and a MAC address to a bridge in one command
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 26 15:40:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     VANHULLEBUS Yvan
>Release:        FreeBSD 7.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD sangoku.zen.inc 7.0-STABLE FreeBSD 7.0-STABLE #0: Tue May 20 21:10:03 CEST 2008 root at sangoku.zen.inc:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:

I want to create, at boot time, a bridge with a fixed IP address (doesn't
change anything if I try DHCP) and a fixed MAC address (as I have an arp
watcher running on my network).

If I try to do that manually, it works:
shagshag# ifconfig bridge0 create
bridge0: Ethernet address: 8a:55:e7:96:89:b8
shagshag# ifconfig bridge0 ether 00:00:24:c8:e2:28
shagshag# ifconfig bridge0 addm vr0 addm vr1
shagshag# ifconfig bridge0 inet 192.168.1.201/24
shagshag# ifconfig bridge0
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:00:24:c8:e2:28
        inet 192.168.1.201 netmask 0xffffff00 broadcast 192.168.1.255
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: vr1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
        member: vr0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
shagshag#


But if I want to do it on one single configuration line (what is done
at boot time), I have:

shagshag# ifconfig bridge0 destroy
shagshag# ifconfig bridge0 create
bridge0: Ethernet address: 4a:b5:68:28:39:92
shagshag# ifconfig bridge0 ether 00:00:24:c8:e2:28 addm vr0 addm vr1 inet 192.168.1.201/24
ifconfig: can't set link-level netmask or broadcast
shagshag#

So I tried various things:

shagshag# ifconfig bridge0 destroy
shagshag# ifconfig bridge0 create
bridge0: Ethernet address: 76:8c:99:38:74:5f
shagshag# ifconfig bridge0 ether 00:00:24:c8:e2:28 addm vr0 addm vr1
shagshag# ifconfig bridge0 inet 192.168.1.201/24
shagshag# ifconfig bridge0
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:00:24:c8:e2:28
        inet 192.168.1.201 netmask 0xffffff00 broadcast 192.168.1.255
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: vr1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
        member: vr0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
shagshag#


But:
shagshag# ifconfig bridge0 destroy
shagshag# ifconfig bridge0 create
bridge0: Ethernet address: 4a:b5:68:28:39:92
shagshag# ifconfig bridge0 addm vr0 addm vr1
shagshag# ifconfig bridge0 ether 00:00:24:c8:e2:28 inet 192.168.1.201/24
ifconfig: can't set link-level netmask or broadcast
shagshag#


So the problem is really when I try to add both an INET address (same
problem with DHCP) and a mac address (tried both with "ether" and "link"
keywords, same result) in the same command line.

And this is really a big problem for me, as I want in my rc.conf something like:

ifconfig_bridge0="addm vr0 addm vr1 inet 192.168.1.201/24 link 00:00:24:c8:e2:28"


>How-To-Repeat:

Set up a bridge, then do:
ifconfig bridge0 ether 00:00:24:c8:e2:28 inet 192.168.1.201/24


>Fix:

No patch, sorry.....
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list