msk driver issues [was: Re: vlan issues with 7.0-RC3]
Pyun YongHyeon
pyunyh at gmail.com
Thu Mar 6 21:00:12 PST 2008
On Sun, Mar 02, 2008 at 07:57:28PM -0800, Christopher Cowart wrote:
> On Fri, Feb 29, 2008 at 03:03:53PM +0900, Pyun YongHyeon wrote:
> > On Wed, Feb 27, 2008 at 06:38:40PM -0800, Christopher Cowart wrote:
> >>On Tue, Feb 26, 2008 at 04:43:55PM +0900, Pyun YongHyeon wrote:
> >>>On Mon, Feb 25, 2008 at 01:17:12AM -0800, Christopher Cowart wrote:
> >>>> I have a mac mini running 7.0-RC3, which I'm trying to turn it into a
> >>>> router. I have a Linksys SRW2008 "fully managed" (via an IE only web
> >>>> interface, ick) switch.
> >>>>
> >>>> Switch:
> >>>> Port 1 - Trunk vlans 10,60,98 - FreeBSD Box
> >>>> Port 7 - Access vlan 98 - Existing LAN (192.168.1.0/24)
> >>>>
> >>>> OpenWRT (192.168.1.1):
> >>>> WRT54G box on the Existing LAN
> >>>>
> >>>> FreeBSD Box:
> >>>> ifconfig msk0 up
> >>>> ifconfig vlan98 create vlan 98 vlandev msk0 inet 192.168.1.67/24
> >>>>
> >>>> With this configuration, I can ping hosts on the other lan segment (Port
> >>>> 7). Arp and icmp seem to be quite happy. Unfortunately, I'm not having
> >>>> any luck with tcp and udp. Any attempt to ssh to OpenWRT or dig
> >>>> @OpenWRT hangs indefinitely. If I do a tcpdump, I see the SYN or A?
> >>>> leaving and absolutely no response returning. If I run a tcpdump on
> >>>> OpenWRT, I see no incoming traffic.
> >>>>
> >>>> When I try to connect *to* the FreeBSD box from the other lan segment, I
> >>>> continue to have problems. tcpdump shows the SYNs arriving via vlan98
> >>>> and the FreeBSD box responding with SYN-ACK. OpenWRT receives the SYNACK.
> >>>>
> >>>> I disabled ipfw just to be sure (sysctl -w net.inet.ip.fw.enable=0), but
> >>>> it had no effect on the problem. If I connect the FreeBSD box to a vlan
> >>>> 98 access port and assign the address to msk0, my connectivity problems
> >>>> go away. This leads me to believe that the firewall on OpenWRT is not
> >>>> the problem and the problem is related to vlans.
> >>>>
> >>>> Thinking it was a problem with the not-so-cheap Linksys POS (bitterness
> >>>> about the IE web interface again), I plugged my MacBook (running
> >>>> Leopard, not FreeBSD) into the trunk port. Running the ifconfig commands
> >>>> above (s/msk0/en0/), I got up and running without any problems. This
> >>>> causes me to suspect the FreeBSD box.
> >>>>
> >>>> Does anyone have any idea what's going on here? Any suggestions for
> >>>> further troubleshooting?
> >>>
> >>> Try disabling hardware features one by one in msk(4) and see how
> >>> it goes.
> >>> o Disable TSO.
> >>> o Disable Tx checksum offload.
> >>> o Disable VLAN hardware tagging.
> >>
> >>Works great after `sudo ifconfig msk0 -txcsum'.
> >>
> >>Is this a known bug, or should I file a PR? Let me know if there are any
> >>other details I can provide to help somebody squash it.
> >
> > Would you capture broken TCP/UDP frames with tcpdump on receiving side
> > and show it to me?
>
> Thanks for your help. I will e-mail you the corresponding tracefile
> off-list. I wanted to discuss my initial findings here.
>
> When the FreeBSD box sends tcp or udp traffic to elsewhere on the
> network, it is not seen at the receiving side, not even with bad
> checksums. I tried setting up the Linksys device with a port mirror, but
> apparently that's only supported on native vlan access ports. Great.
>
> So, I decided to cross-connect the FreeBSD box with my MacBook. I set up
> a vlan interface and was able to reproduce the behavior. I did a traffic
> dump on the parent interface (not the vlan interface) on the MacBook,
> and noticed that the ethernet frames originating from the FreeBSD box
> lacked 802.1q tags. Is it possible that the interface is not performing
> the hardware tagging when txcsum is enabled?
>
Fix committed to HEAD, if_msk.c rev 1.30.
> While I have your attention, I am also suffering from a problem that was
> reported to -questions here[1]. About 3 times a day, I'll see the
> watchdog timeout (missed Tx interrupts) message get logged, after which
> point the NIC is useless until I reboot. Any ideas?
>
> [1] http://lists.freebsd.org/pipermail/freebsd-questions/2008-February/169633.html
>
I'll have a look.
--
Regards,
Pyun YongHyeon
More information about the freebsd-net
mailing list