Lines Matching refs:ip6rd

182 		ipv6_addr_set(&t->ip6rd.prefix, htonl(0x20020000), 0, 0, 0);  in ipip6_tunnel_clone_6rd()
183 t->ip6rd.relay_prefix = 0; in ipip6_tunnel_clone_6rd()
184 t->ip6rd.prefixlen = 16; in ipip6_tunnel_clone_6rd()
185 t->ip6rd.relay_prefixlen = 0; in ipip6_tunnel_clone_6rd()
188 memcpy(&t->ip6rd, &t0->ip6rd, sizeof(t->ip6rd)); in ipip6_tunnel_clone_6rd()
591 prefix_len = tunnel->ip6rd.prefixlen + 32 in only_dnatted()
592 - tunnel->ip6rd.relay_prefixlen; in only_dnatted()
772 if (ipv6_prefix_equal(v6dst, &tunnel->ip6rd.prefix, in check_6rd()
773 tunnel->ip6rd.prefixlen)) { in check_6rd()
778 pbw0 = tunnel->ip6rd.prefixlen >> 5; in check_6rd()
779 pbi0 = tunnel->ip6rd.prefixlen & 0x1f; in check_6rd()
781 d = tunnel->ip6rd.relay_prefixlen < 32 ? in check_6rd()
783 tunnel->ip6rd.relay_prefixlen : 0; in check_6rd()
785 pbi1 = pbi0 - tunnel->ip6rd.relay_prefixlen; in check_6rd()
790 *v4dst = tunnel->ip6rd.relay_prefix | htonl(d); in check_6rd()
1125 struct ip_tunnel_6rd *ip6rd) in ipip6_tunnel_update_6rd() argument
1130 if (ip6rd->relay_prefixlen > 32 || in ipip6_tunnel_update_6rd()
1131 ip6rd->prefixlen + (32 - ip6rd->relay_prefixlen) > 64) in ipip6_tunnel_update_6rd()
1134 ipv6_addr_prefix(&prefix, &ip6rd->prefix, ip6rd->prefixlen); in ipip6_tunnel_update_6rd()
1135 if (!ipv6_addr_equal(&prefix, &ip6rd->prefix)) in ipip6_tunnel_update_6rd()
1137 if (ip6rd->relay_prefixlen) in ipip6_tunnel_update_6rd()
1138 relay_prefix = ip6rd->relay_prefix & in ipip6_tunnel_update_6rd()
1140 (32 - ip6rd->relay_prefixlen)); in ipip6_tunnel_update_6rd()
1143 if (relay_prefix != ip6rd->relay_prefix) in ipip6_tunnel_update_6rd()
1146 t->ip6rd.prefix = prefix; in ipip6_tunnel_update_6rd()
1147 t->ip6rd.relay_prefix = relay_prefix; in ipip6_tunnel_update_6rd()
1148 t->ip6rd.prefixlen = ip6rd->prefixlen; in ipip6_tunnel_update_6rd()
1149 t->ip6rd.relay_prefixlen = ip6rd->relay_prefixlen; in ipip6_tunnel_update_6rd()
1176 struct ip_tunnel_6rd ip6rd; in ipip6_tunnel_ioctl() local
1202 ip6rd.prefix = t->ip6rd.prefix; in ipip6_tunnel_ioctl()
1203 ip6rd.relay_prefix = t->ip6rd.relay_prefix; in ipip6_tunnel_ioctl()
1204 ip6rd.prefixlen = t->ip6rd.prefixlen; in ipip6_tunnel_ioctl()
1205 ip6rd.relay_prefixlen = t->ip6rd.relay_prefixlen; in ipip6_tunnel_ioctl()
1206 if (copy_to_user(ifr->ifr_ifru.ifru_data, &ip6rd, in ipip6_tunnel_ioctl()
1207 sizeof(ip6rd))) in ipip6_tunnel_ioctl()
1325 if (copy_from_user(&ip6rd, ifr->ifr_ifru.ifru_data, in ipip6_tunnel_ioctl()
1326 sizeof(ip6rd))) in ipip6_tunnel_ioctl()
1330 err = ipip6_tunnel_update_6rd(t, &ip6rd); in ipip6_tunnel_ioctl()
1530 struct ip_tunnel_6rd *ip6rd) in ipip6_netlink_6rd_parms() argument
1533 memset(ip6rd, 0, sizeof(*ip6rd)); in ipip6_netlink_6rd_parms()
1540 ip6rd->prefix = nla_get_in6_addr(data[IFLA_IPTUN_6RD_PREFIX]); in ipip6_netlink_6rd_parms()
1545 ip6rd->relay_prefix = in ipip6_netlink_6rd_parms()
1551 ip6rd->prefixlen = nla_get_u16(data[IFLA_IPTUN_6RD_PREFIXLEN]); in ipip6_netlink_6rd_parms()
1556 ip6rd->relay_prefixlen = in ipip6_netlink_6rd_parms()
1572 struct ip_tunnel_6rd ip6rd; in ipip6_newlink() local
1602 if (ipip6_netlink_6rd_parms(data, &ip6rd)) in ipip6_newlink()
1603 err = ipip6_tunnel_update_6rd(nt, &ip6rd); in ipip6_newlink()
1619 struct ip_tunnel_6rd ip6rd; in ipip6_changelink() local
1650 if (ipip6_netlink_6rd_parms(data, &ip6rd)) in ipip6_changelink()
1651 return ipip6_tunnel_update_6rd(t, &ip6rd); in ipip6_changelink()
1718 &tunnel->ip6rd.prefix) || in ipip6_fill_info()
1720 tunnel->ip6rd.relay_prefix) || in ipip6_fill_info()
1722 tunnel->ip6rd.prefixlen) || in ipip6_fill_info()
1724 tunnel->ip6rd.relay_prefixlen)) in ipip6_fill_info()