- sa->ip6_hdr.ip_version_traffic_class_and_flow_label = 0x60;
- sa->ip6_hdr.hop_limit = 254;
- sa->ip6_hdr.src_address.as_u64[0] =
- sa->tunnel_src_addr.ip6.as_u64[0];
- sa->ip6_hdr.src_address.as_u64[1] =
- sa->tunnel_src_addr.ip6.as_u64[1];
- sa->ip6_hdr.dst_address.as_u64[0] =
- sa->tunnel_dst_addr.ip6.as_u64[0];
- sa->ip6_hdr.dst_address.as_u64[1] =
- sa->tunnel_dst_addr.ip6.as_u64[1];
- if (ipsec_sa_is_set_UDP_ENCAP (sa))
- sa->ip6_hdr.protocol = IP_PROTOCOL_UDP;
- else
- sa->ip6_hdr.protocol = IP_PROTOCOL_IPSEC_ESP;
+ tunnel_build_v6_hdr (&sa->tunnel,
+ (ipsec_sa_is_set_UDP_ENCAP (sa) ?
+ IP_PROTOCOL_UDP :
+ IP_PROTOCOL_IPSEC_ESP),
+ &sa->ip6_hdr);