On Fri, 2011-03-11 at 15:44 +0500, Anton Maksimenkov wrote:
> Hi.
> If someone has te vte (r6040 chip) network interface please, test this diff.
> It solves problems like these:
> > First, it seems that dhclient don't work on vte.
> > Second, it seems vte looses network after minute(s) of inactivity
> > (machine don't responds to ping etc).
> > Network restores when I type "ifconfig vte inet..." from console. Ssh
> > session may be restored too.
> > When "tcpdump -ni vte0" running in background
> > 1) dhclient works
> > 2) network connections stays stable
>
> --- /usr/origsrc/sys/dev/pci/if_vte.c Fri Jan 21 11:34:04 2011
> +++ /usr/src/sys/dev/pci/if_vte.c Fri Mar 11 20:13:18 2011
> @@ -1457,11 +1457,9 @@
> }
>
> mcr = CSR_READ_2(sc, VTE_MCR0);
> + /* Always accept broadcast frames so MCR0_BROADCAST bit must be 0 */
> mcr &= ~(MCR0_PROMISC | MCR0_BROADCAST | MCR0_MULTICAST);
> ifp->if_flags &= ~IFF_ALLMULTI;
> -
> - /* Always accept broadcast frames. */
> - mcr |= MCR0_BROADCAST;
>
> if (ifp->if_flags & IFF_PROMISC || ac->ac_multirangecnt > 0) {
> ifp->if_flags |= IFF_ALLMULTI;
>
Hi Anton,
I have no problem with dhclient, but I read the datasheet of R6040,
and it seems you're right. I just tested on eBox-3300MX and it works
for me. I'll commit your diff, thanks!
Kevin