Julius R. Volz wrote:
+#ifdef CONFIG_IP_VS_IPV6 +void ip_vs_nat_icmp_v6(struct sk_buff *skb, struct ip_vs_protocol *pp, + struct ip_vs_conn *cp, int inout) +{ + struct ipv6hdr *iph = ipv6_hdr(skb); + unsigned int icmp_offset = sizeof(struct ipv6hdr); + struct icmp6hdr *icmph = (struct icmp6hdr *)(skb_network_header(skb) + + icmp_offset); + struct ipv6hdr *ciph = (struct ipv6hdr *)(icmph + 1); + + if (inout) { + iph->saddr = cp->vaddr.v6; + ciph->daddr = cp->vaddr.v6; + } else { + iph->daddr = cp->daddr.v6; + ciph->saddr = cp->daddr.v6; + }
ipv6_addr_copy().
+ /* mangle the packet */ + if (pp->snat_handler_v6 && !pp->snat_handler_v6(skb, pp, cp)) + goto drop; + ipv6_hdr(skb)->saddr = cp->vaddr.v6;
ipv6_addr_copy(). -Brian -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html