gre_oip6
IN6_ARE_ADDR_EQUAL(&sc->gre_oip6.ip6_src, src) &&
IN6_ARE_ADDR_EQUAL(&sc->gre_oip6.ip6_dst, dst) &&
if (IN6_ARE_ADDR_EQUAL(&tmp->gre_oip6.ip6_src, src) &&
IN6_ARE_ADDR_EQUAL(&tmp->gre_oip6.ip6_dst, dst))
if (IN6_ARE_ADDR_EQUAL(&sc->gre_oip6.ip6_src,
IN6_ARE_ADDR_EQUAL(&sc->gre_oip6.ip6_dst,
if (in6_localip(&sc->gre_oip6.ip6_src))
if (IN6_ARE_ADDR_EQUAL(&sc->gre_oip6.ip6_src,
if (IN6_ARE_ADDR_EQUAL(&sc->gre_oip6.ip6_dst, &dst.sin6_addr))
if (!IN6_ARE_ADDR_EQUAL(&s->addr, &sc->gre_oip6.ip6_src)) {
gs = in6_gre_lookup_socket(&sc->gre_oip6.ip6_src);
s->addr = sc->gre_oip6.ip6_src;
sin6.sin6_addr = sc->gre_oip6.ip6_src;
&GRE_SOCKHASH(&sc->gre_oip6.ip6_src), gs, chain);
sc->gre_oip6.ip6_nxt = IPPROTO_UDP;
in6_cksum_pseudo(&sc->gre_oip6, 0, 0, 0));
sc->gre_oip6.ip6_nxt = IPPROTO_GRE;
sc->gre_oip6.ip6_vfc = IPV6_VERSION;
CK_LIST_INSERT_HEAD(&GRE_SRCHASH(&sc->gre_oip6.ip6_src), sc, srchash);
in6_gre_checkdup(sc, &sc->gre_oip6.ip6_src,
&sc->gre_oip6.ip6_dst, value) == EADDRNOTAVAIL)
sc->gre_oip6.ip6_src: sc->gre_oip6.ip6_dst;
#define GRE_HASH_SC(sc) GRE_HASH(&(sc)->gre_oip6.ip6_src,\
&(sc)->gre_oip6.ip6_dst)