tcp_ipv6.c (62910554656cdcd6b6f84a5154c4155aae4ca231) | tcp_ipv6.c (0eae88f31ca2b88911ce843452054139e028771f) |
---|---|
1/* 2 * TCP over IPv6 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Based on: --- 1220 unchanged lines hidden (view full) --- 1229 u32 *d; 1230 u32 *mess = &tmp_ext.cookie_bakery[COOKIE_DIGEST_WORDS]; 1231 int l = tmp_opt.cookie_plus - TCPOLEN_COOKIE_BASE; 1232 1233 if (tcp_cookie_generator(&tmp_ext.cookie_bakery[0]) != 0) 1234 goto drop_and_free; 1235 1236 /* Secret recipe starts with IP addresses */ | 1/* 2 * TCP over IPv6 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * Based on: --- 1220 unchanged lines hidden (view full) --- 1229 u32 *d; 1230 u32 *mess = &tmp_ext.cookie_bakery[COOKIE_DIGEST_WORDS]; 1231 int l = tmp_opt.cookie_plus - TCPOLEN_COOKIE_BASE; 1232 1233 if (tcp_cookie_generator(&tmp_ext.cookie_bakery[0]) != 0) 1234 goto drop_and_free; 1235 1236 /* Secret recipe starts with IP addresses */ |
1237 d = &ipv6_hdr(skb)->daddr.s6_addr32[0]; | 1237 d = (__force u32 *)&ipv6_hdr(skb)->daddr.s6_addr32[0]; |
1238 *mess++ ^= *d++; 1239 *mess++ ^= *d++; 1240 *mess++ ^= *d++; 1241 *mess++ ^= *d++; | 1238 *mess++ ^= *d++; 1239 *mess++ ^= *d++; 1240 *mess++ ^= *d++; 1241 *mess++ ^= *d++; |
1242 d = &ipv6_hdr(skb)->saddr.s6_addr32[0]; | 1242 d = (__force u32 *)&ipv6_hdr(skb)->saddr.s6_addr32[0]; |
1243 *mess++ ^= *d++; 1244 *mess++ ^= *d++; 1245 *mess++ ^= *d++; 1246 *mess++ ^= *d++; 1247 1248 /* plus variable length Initiator Cookie */ 1249 c = (u8 *)mess; 1250 while (l-- > 0) --- 993 unchanged lines hidden --- | 1243 *mess++ ^= *d++; 1244 *mess++ ^= *d++; 1245 *mess++ ^= *d++; 1246 *mess++ ^= *d++; 1247 1248 /* plus variable length Initiator Cookie */ 1249 c = (u8 *)mess; 1250 while (l-- > 0) --- 993 unchanged lines hidden --- |