tap devices and DHCP.

Marcin Jessa lists at yazzy.org
Thu Sep 22 03:50:02 PDT 2005

On Thu, 22 Sep 2005 11:35:06 +0100 (BST)
Robert Watson <rwatson at FreeBSD.org> wrote:

> On Thu, 22 Sep 2005, Marcin Jessa wrote:
> > I do not know if it's meant to be that way but tap devices cannot
> > get IPs assigned with DHCP. I did not check the old dhclient code
> > but the new one cannot hand over DHCP requests to tap devices. I
> > was sure a tap device acted as an ethernet device even though it's
> > a virtual one, since one can manually assign IP to tap. It can
> > however assign IP to a bridge (with DHCP) with dev tap as a member
> > of it. Could someone explain me please if this behaviour is on
> > purpose or just a problem with DHCP?
> That's certainly undesirable.  Could you tell us a little bit about
> the setup you're running?  Specifically, what's on the other end of
> the tap device, and how does it hook up to the DHCP server?

I have a bridge with one fxp0 nic (which I renamed to net0) and one tap1
device. The other end runs linux as DHCP server on LAN.
It communicates with the DHCP server through the fxp0 device which is a
member of the same bridge.

> Could you show the ifconfig output for the interface before and after 
> running dhclient?  And then again after manually assigning an address?

# ifconfig bridge0 create
# ifconfig bridge0 addm net0 stp net0 addm tap1 stp tap1 up

        inet6 fe80::212:f0ff:fe12:29b3%wlan0 prefixlen 64 scopeid 0x1
        inet netmask 0xff000000 broadcast
        ether 00:12:f0:12:29:b3
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
(DS/2Mbps) status: associated
        ssid XXYYZZ channel 2 bssid 00:20:a6:4c:ef:62
        authmode OPEN privacy OFF txpowmax 100 protmode CTS bintval 100
1500 options=8<VLAN_MTU>
        inet6 fe80::20a:e4ff:fe2f:9dce%net0 prefixlen 64 scopeid 0x2
        ether 00:0a:e4:2f:9d:ce
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
pflog0: flags=0<> mtu 33208
pfsync0: flags=0<> mtu 2020
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet netmask 0xff000000
        ether 00:bd:16:8d:03:00
1500 inet6 fe80::2bd:16ff:fe8d:301%tap1 prefixlen 64 scopeid 0x7
        inet netmask 0xff000000 broadcast
        ether 00:bd:16:8d:03:01
bridge0: flags=8041<UP,RUNNING,MULTICAST> mtu 1500
        inet netmask 0xffffff00
        ether ac:de:48:ca:32:d3
        priority 32768 hellotime 2 fwddelay 15 maxage 20
        member: tap1 flags=7<LEARNING,DISCOVER,STP>
        member: net0 flags=7<LEARNING,DISCOVER,STP>

More information about the freebsd-current mailing list