Double link list issue with 2.6.11

"Bellino, Phil" <[email protected]>
Newsgroups gmane.network.ipv6.general,gmane.linux.ipv6.usagi.users
Message-ID <[email protected]>
Hello,
Running 2.6.11 kernel on some host and running 2.6.5 kernel on other hosts.

I will try no to mix apples with oranges here,

I can "SSH -6" from a 2.6.11 system to a 2.6.5 system with no problems.
I can also "SSH -6" from a 2.6.5 system to another 2.6.5 system with no
problems.

When I attempt to "SSH -6" from either a  2.6.5 or a 2.6.11 system to a
2.6.11 system, I get an immediate tcp resest.

In tcp_ipv6.c, the following routine is called and the subsequent call to
"sk_for_each" fails because in list.h (in include/linux) the define
“hlist_for_each_entry” has  “(head)->first” as NULL (it appears that the
link list is not set up correctly). This eventually leads to the call to
“tcp_v6_send_reset”.

static inline struct sock *__tcp_v6_lookup_established(struct in6_addr
*saddr, u16 sport,
                             struct in6_addr *daddr,  u16 hnum, int dif)
{
        struct tcp_ehash_bucket *head;
        struct sock *sk;
        struct hlist_node *node;
        __u32 ports = TCP_COMBINED_PORTS(sport, hnum);
        int hash;

        /* Optimize here for direct hit, only listening connections can
         * have wildcards anyways.
         */      

        hash = tcp_v6_hashfn(daddr, hnum, saddr, sport);
        head = &tcp_ehash[hash];
        read_lock(&head->lock);

        sk_for_each(sk, node, &head->chain) {  **********THIS
FAILS**********
                  /* For IPV6 do the cheaper port and family tests first. */
                if(TCP_IPV6_MATCH(sk, saddr, daddr, ports, dif))
                        goto hit; /* You sunk my battleship! */
        }

Has anyone seen an issue such as this?

Thanks,
Phil Bellino




============================
Phil Bellino
MRV Communications, Inc.
Boston Product Division
295 Foster St.
Littleton,MA 01460
Tel: (978)952-4807
Email: [email protected]
============================
(unnamed) (application/ms-tnef, 2.8 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.