tap dhcp

Adam Vande More amvandemore at gmail.com
Mon Sep 28 21:50:48 UTC 2009


On Mon, Sep 28, 2009 at 4:14 PM, Juli Mallett <jmallett at freebsd.org> wrote:

> On Mon, Sep 28, 2009 at 13:21, Adam Vande More <amvandemore at gmail.com>
> wrote:
> > Am I doing something wrong here?
>
> That depends on what you're expecting to happen.  What do you think
> tap(4) does and what are you trying to accomplish with using it?
> Interface bridging controls what happens on packet ingress — when a
> packet comes in on one side of the bridge it is forwarded out the
> other.  When dhclient(8) sends out a DHCPDISCOVER on tap0, that goes
> through the interface output routine.  tap(4) works such that then
> would go to a user-space process reading from tap0 and then that
> process would forward it on to somewhere else where eventually it
> might find a DHCP server.  If it does, the DHCP reply would come back,
> that user-space process would inject it into the kernel and the
> bridging code would pass it out em0.
>
>
I don't entirely understand, let's try a different example.  Say we start
with the same logical setup minus DHCP:

kldload if_tap if_bridge
sysctl net.link.tap.user_open=1
ifconfig tap0 create
ifconfig bridge create
ifconfig bridge0 addm tap0 addm em0

Suppose em0 is at 192.168.0.10 and another system 192.168.0.1.  Then I can
manually assign 192.168.0.11 to tap0 and enter this:

ping -S 192.168.0.11 192.168.0.1

Should I recieve a response?  From tap(4), and other examples my
understanding is yes, but that is not what I'm seeing in practice.  Forgive
my ignorance, but wouldn't bridge0 pass a response back to tap0?

My goal is essentially clone my network connection recieving two DHCP leases
to the same box.  Also I am aware of ifconfig alias, but that didn't seem up
to the task.

-- 
Adam Vande More


More information about the freebsd-net mailing list