From: Pawel H. <Paw...@im...> - 2003-04-18 10:35:20
|
Hi Jon Yes, I tried this patch and it seems to be working OK while applied to 2.5.65 - I hope it will be incorporated in the next versions. I tested it only once because I have problems with my testbed. I will do some more tests soon. For now, Happy Easter for all Pawel JG> Try this out. Worked for getting my INITs out with correct dst address. JG> If the patch doesn't lay down cleanly, you can go make the changes JG> manually in sctp_v6_xmit(). JG> The fix was to not use the rt6 struct, but instead just pull the dst JG> address from our transport struct. JG> diff -Nru a/net/sctp/ipv6.c b/net/sctp/ipv6.c JG> --- a/net/sctp/ipv6.c Tue Apr 15 14:46:03 2003 JG> +++ b/net/sctp/ipv6.c Tue Apr 15 14:46:03 2003 JG> @@ -148,15 +148,13 @@ JG> struct sock *sk = skb->sk; JG> struct ipv6_pinfo *np = inet6_sk(sk); JG> struct flowi fl; JG> - struct dst_entry *dst = skb->dst; JG> - struct rt6_info *rt6 = (struct rt6_info *)dst; JG> fl.proto = sk->protocol; JG> /* Fill in the dest address from the route entry passed with the skb JG> * and the source address from the transport. JG> */ JG> - fl.fl6_dst = &rt6->rt6i_dst.addr; JG> + fl.fl6_dst = &transport->ipaddr.v6.sin6_addr; JG> fl.fl6_src = &transport->saddr.v6.sin6_addr; JG> fl.fl6_flowlabel = np->flow_label; |