5.3 Beta2 bridging (update 2)

Dave McCammon davemac11 at yahoo.com
Thu Sep 2 08:19:14 PDT 2004


 
> --- Andre Oppermann <andre at freebsd.org> wrote:
> 
> > Dave McCammon wrote:
> > > Got the bridging to work after cvsup yesterday(I
> > think
> > > it was the rebuild but not for sure).
> > > 
> > > em0 - has ip
> > > em1 -  no ip
> > > 
> > > Anyway, with both cables plugged in, traffic
> > passes
> > > through the box. Weird thing is, the box can't
> get
> > to
> > > (ssh, ping) other machines on the em1 side but
> can
> > get
> > > to machines on the em0 side. 
> > > Machines on the em1 side can get to machines on
> > the
> > > em0 side. Machines on the em0 side can get to
> > machines
> > > on the em1 side and can get to the bridging box.
> > > 
> > > Ok, I just went and plugged the cables back
> > in(removed
> > > them last night) and traffic didn't get through.
> > I'm
> > > now wondering if it isn't something to do with
> the
> > em
> > > driver.
> > > This is completely confusing.
> > > I built a different kernel to test bridging
> > without
> > > ipfw. Bridging kernels with and without ipfw
> > worked
> > > last night. Now nothing.
> > > 
> > > Ok, after some more fiddling around, what needs
> to
> > > happen is that em1 can't be plugged in until the
> > > machine has come up(with em0 plugged in).
> > > After that, traffic passes as stated above.
> Which
> > > doesn't bode well if machine gets rebooted.
> > 
> > You might be lucky here.  About two hours ago
> > pdeuskar committed
> > some fixes to the 'em' driver including one
> talking
> > about bridging
> > problems.  Try to pull the changes to
> > sys/dev/em/if_em* into your
> > 5.3-BETA2 tree.

Pulled in this em update(thanks for the tip, Andre)
but didn't changes things.
After a lot of testing and some foolishness on my part
removed(firewall blocking dhcp traffic), some
definites were ironed out.

When the machine boots with both cables plugged in,
traffic passes through just fine.
Except, machines on the em1(no ip) can't connect to
the bridge machine but can to machines on the other
side.
Machines on the em0(ip) can connect to machines on the
other side and can also connect to bridge machine.
The bridge can connect to machines on the em0 side but
not to machines on the em1 side.

I have tested this with a kernel that has ipfirewall
stuff removed and the ipfw lines remarked out in
sysctl.conf and rc.conf.

Also, when I left work last night, I unplugged the
cable to em1 and when I came in this morning, I
plugged it back in to a switch on my desk. I went to
renew my dhcp lease and could not get through. Did a
lot of tcpdump'ing on the bridge machine and on the
dhcp server. The request was getting through to the
dhcp server and the reply was getting to em0 on the
bridge but not through em1(I have firewall in open
state just as it was left last night). Did a ifconfig
em1 down and then up and a few seconds later the dhcp
request got through. So I'm wondering if it isn't in
the em driver or perhaps the bridge isn't "renewing"
itself when the link comes back online.(Shot in the
dark, reading code and understanding code are two
different things.)




		
_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush


More information about the freebsd-current mailing list