===== net/ipv6/ah6.c 1.37 vs edited ===== --- 1.37/net/ipv6/ah6.c 2004-07-28 21:48:18 +10:00 +++ edited/net/ipv6/ah6.c 2004-07-28 21:55:21 +10:00 @@ -202,11 +202,11 @@ ah = (struct ip_auth_hdr *)(*pskb)->h.raw; ah->nexthdr = nexthdr; - (*pskb)->nh.ipv6h->priority = 0; - (*pskb)->nh.ipv6h->flow_lbl[0] = 0; - (*pskb)->nh.ipv6h->flow_lbl[1] = 0; - (*pskb)->nh.ipv6h->flow_lbl[2] = 0; - (*pskb)->nh.ipv6h->hop_limit = 0; + top_iph->priority = 0; + top_iph->flow_lbl[0] = 0; + top_iph->flow_lbl[1] = 0; + top_iph->flow_lbl[2] = 0; + top_iph->hop_limit = 0; ahp = x->data; ah->hdrlen = (XFRM_ALIGN8(sizeof(struct ipv6_auth_hdr) + ===== net/ipv6/xfrm6_output.c 1.1 vs edited ===== --- 1.1/net/ipv6/xfrm6_output.c 2004-07-25 20:33:46 +10:00 +++ edited/net/ipv6/xfrm6_output.c 2004-07-28 20:58:15 +10:00 @@ -43,9 +43,8 @@ int hdr_len; hdr_len = ip6_find_1stfragopt(skb, &prevhdr); - skb->nh.raw = prevhdr - hdr_len; - skb->h.ipv6h = iph; - skb->h.raw += hdr_len; + skb->nh.raw = prevhdr - x->props.header_len; + skb->h.raw = skb->data + hdr_len; memmove(skb->data, iph, hdr_len); return; }