From: "Matt Carlson" <mcarlson@broadcom.com>
To: "Thomas Habets" <thomas@habets.pp.se>
Cc: "Eric Dumazet" <eric.dumazet@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
netdev <netdev@vger.kernel.org>,
"Matthew Carlson" <mcarlson@broadcom.com>,
"Michael Chan" <mchan@broadcom.com>
Subject: Re: BUG: IPv6 stops working after a while, needs ip ne del command to reset
Date: Tue, 17 Aug 2010 10:11:15 -0700 [thread overview]
Message-ID: <20100817171115.GA4134@mcarlson.broadcom.com> (raw)
In-Reply-To: <alpine.DEB.1.10.1008171737260.21857@red.crap.retrofitta.se>
On Tue, Aug 17, 2010 at 08:58:26AM -0700, Thomas Habets wrote:
> On Tue, 17 Aug 2010, Eric Dumazet wrote:
> > Try following patch to check tg3 receives correct multicast list (its OK
> > for me, seen on dmesg output)
> >
> > [17162.120238] add mc_addr(ha->addr=33:33:00:00:00:01)
> > [17162.120270] add mc_addr(ha->addr=01:00:5e:00:00:01)
> > [17162.120298] add mc_addr(ha->addr=33:33:ff:87:96:ce)
> > [17162.120326] add mc_addr(ha->addr=33:33:ff:5c:00:02)
> > [17162.120355] filters=80000001 00000000 00400000 40000000
>
> Right after boot:
>
> $ dmesg | egrep 'eth0|^add mc|^filters='
> tg3 0000:03:04.0: eth0: Tigon3 [partno(N/A) rev 9003] (PCIX:133MHz:64-bit)
> MAC address 00:24:81:a3:44:24
> tg3 0000:03:04.0: eth0: attached PHY is 5714 (10/100/1000Base-T Ethernet)
> (WireSpeed[1])
> tg3 0000:03:04.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
> tg3 0000:03:04.0: eth0: dma_rwctrl[76148000] dma_mask[40-bit]
> add mc_addr(ha->addr=33:33:00:00:00:01)
> filters=80000000 00000000 00000000 00000000
> add mc_addr(ha->addr=33:33:00:00:00:01)
> filters=80000000 00000000 00000000 00000000
> add mc_addr(ha->addr=33:33:00:00:00:01)
> filters=80000000 00000000 00000000 00000000
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> filters=80000000 00000000 00000000 40000000
> ADDRCONF(NETDEV_UP): eth0: link is not ready
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> filters=80000000 00000000 00000000 40000000
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> filters=80000000 00000000 00000000 40000000
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> add mc_addr(ha->addr=33:33:ff:5c:00:02)
> filters=80000001 00000000 00000000 40000000
> tg3 0000:03:04.0: eth0: Link is up at 1000 Mbps, full duplex
> tg3 0000:03:04.0: eth0: Flow control is off for TX and off for RX
> ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> add mc_addr(ha->addr=33:33:ff:5c:00:02)
> add mc_addr(ha->addr=33:33:ff:a3:44:24)
> filters=80020001 00000000 00000000 40000000
> eth0: no IPv6 routers present
>
> [ ifconfig eth0 allmulti
> (ip l and ifconfig say ALLMULTI is on)
> ]
>
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> add mc_addr(ha->addr=33:33:ff:5c:00:02)
> add mc_addr(ha->addr=33:33:ff:a3:44:24)
> filters=80020001 00000000 00000000 40000000
>
> [
> $ sudo ifconfig eth0 -allmulti
> Warning: Interface eth0 still in ALLMULTI mode.
> (ip l and ifconfig say ALLMULTI is now off)
> ]
>
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> add mc_addr(ha->addr=33:33:ff:5c:00:02)
> add mc_addr(ha->addr=33:33:ff:a3:44:24)
> filters=80020001 00000000 00000000 40000000
>
> [ ifconfig eth0 allmulti
> (same effect)
> ]
>
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> add mc_addr(ha->addr=33:33:ff:5c:00:02)
> add mc_addr(ha->addr=33:33:ff:a3:44:24)
> filters=80020001 00000000 00000000 40000000
>
> [
> $ sudo ifconfig eth0 -allmulti
> Warning: Interface eth0 still in ALLMULTI mode.
> (same effect)
> ]
>
> add mc_addr(ha->addr=33:33:00:00:00:01)
> add mc_addr(ha->addr=01:00:5e:00:00:01)
> add mc_addr(ha->addr=33:33:ff:5c:00:02)
> add mc_addr(ha->addr=33:33:ff:a3:44:24)
> filters=80020001 00000000 00000000 40000000
>
>
> > But if problem remains even with "ifconfig eth0 allmulti" I suspect a
> > NIC firmware problem. (allmulti set to 1 all the 128 bits of filters)
I suspect Eric is right.
Thomas, can you give me the output of 'ethtool -i eth0'?
> If you expected more bits set in "filters" with allmulti than without it,
> that doesn't seem to be the case.
"allmulti" has the effect of enabling all 128 bits of the multicast hash
filters. It doesn't explicitly enable them all though.
> Applied your patch to v2.6.35.
>
> ---------
> typedef struct me_s {
> char name[] = { "Thomas Habets" };
> char email[] = { "thomas@habets.pp.se" };
> char kernel[] = { "Linux" };
> char *pgpKey[] = { "http://www.habets.pp.se/pubkey.txt" };
> char pgp[] = { "A8A3 D1DD 4AE0 8467 7FDE 0945 286A E90A AD48 E854" };
> char coolcmd[] = { "echo '. ./_&. ./_'>_;. ./_" };
> } me_t;
>
next prev parent reply other threads:[~2010-08-17 17:11 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-13 17:55 BUG: IPv6 stops working after a while, needs ip ne del command to reset Thomas Habets
2010-08-13 21:34 ` David Miller
2010-08-16 10:19 ` Eric Dumazet
2010-08-16 10:59 ` Thomas Habets
2010-08-17 5:35 ` Thomas Habets
2010-08-17 6:00 ` Eric Dumazet
2010-08-17 11:08 ` Thomas Habets
2010-08-17 13:15 ` Eric Dumazet
2010-08-17 14:09 ` Thomas Habets
2010-08-17 14:34 ` Eric Dumazet
2010-08-17 15:58 ` Thomas Habets
2010-08-17 17:11 ` Matt Carlson [this message]
2010-08-17 17:29 ` Thomas Habets
2010-08-17 18:31 ` Matt Carlson
2010-08-17 18:52 ` Thomas Habets
2010-08-18 1:23 ` Matt Carlson
2010-08-18 7:02 ` Thomas Habets
2010-09-01 9:21 ` Thomas Habets
2010-09-01 13:19 ` Eric Dumazet
2010-09-01 14:40 ` Brian Haley
2010-09-14 19:56 ` Thomas Habets
2010-09-15 17:37 ` Brian Haley
2010-08-17 17:13 ` Eric Dumazet
2010-08-17 16:14 ` Thomas Habets
-- strict thread matches above, loose matches on Subject: below --
2010-08-06 8:25 Thomas Habets
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100817171115.GA4134@mcarlson.broadcom.com \
--to=mcarlson@broadcom.com \
--cc=eric.dumazet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=thomas@habets.pp.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.