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]
============================

<<application/ms-tnef>>

Reply via email to