Lines Matching defs:new
500 struct nd_defrouter *new)
512 gate.sin6_addr = new->rtaddr;
664 * If the router is the primary one, choose a new one.
720 * a new one.
767 struct nd_defrouter *new)
770 struct nd_ifinfo *ndi = &nd_ifinfo[new->ifp->if_index];
773 if ((dr = defrouter_lookup(&new->rtaddr, new->ifp)) != NULL) {
775 if (new->rtlifetime == 0) {
780 dr->flags = new->flags; /* xxx flag check */
781 dr->rtlifetime = new->rtlifetime;
782 dr->expire = new->expire;
789 if (new->rtlifetime == 0) {
806 *n = *new;
809 * Insert the new router at the end of the Default Router List.
844 struct nd_pfxrouter *new;
848 new = (struct nd_pfxrouter *)_MALLOC(sizeof(*new), M_IP6NDP, M_NOWAIT);
849 if (new == NULL)
851 bzero(new, sizeof(*new));
852 new->router = dr;
854 LIST_INSERT_HEAD(&pr->ndpr_advrtrs, new, pfr_entry);
964 struct nd_prefix *new = NULL;
975 new = (struct nd_prefix *)_MALLOC(sizeof(*new), M_IP6NDP, M_NOWAIT);
976 if (new == NULL)
978 bzero(new, sizeof(*new));
979 *new = *pr;
981 *newp = new;
984 LIST_INIT(&new->ndpr_advrtrs);
985 in6_prefixlen2mask(&new->ndpr_mask, new->ndpr_plen);
988 new->ndpr_prefix.sin6_addr.s6_addr32[i] &=
989 new->ndpr_mask.s6_addr32[i];
993 LIST_INSERT_HEAD(&nd_prefix, new, ndpr_entry);
995 new->ndpr_usecnt = 0;
996 ndpr_hold(new, TRUE);
999 if (new->ndpr_raf_onlink) {
1002 if ((e = nd6_prefix_onlink(new, 0, 1)) != 0) {
1012 pfxrtr_add(new, dr);
1082 struct nd_prefix *new,
1088 struct ifnet *ifp = new->ndpr_ifp;
1109 if ((pr = nd6_prefix_lookup(new)) != NULL) {
1111 * nd6_prefix_lookup() ensures that pr and new have the same
1120 if (new->ndpr_raf_onlink == 1)
1122 if (new->ndpr_raf_auto == 1)
1124 if (new->ndpr_raf_onlink) {
1125 pr->ndpr_vltime = new->ndpr_vltime;
1126 pr->ndpr_pltime = new->ndpr_pltime;
1127 pr->ndpr_preferred = new->ndpr_preferred;
1128 pr->ndpr_expire = new->ndpr_expire;
1131 if (new->ndpr_raf_onlink &&
1155 if (new->ndpr_vltime == 0)
1157 if (new->ndpr_raf_onlink == 0 && new->ndpr_raf_auto == 0)
1160 bzero(&new->ndpr_addr, sizeof(struct in6_addr));
1162 error = nd6_prelist_add(new, dr, &newpr);
1167 ip6_sprintf(&new->ndpr_prefix.sin6_addr),
1168 new->ndpr_plen, if_name(new->ndpr_ifp),
1195 if (!new->ndpr_raf_auto)
1212 * should reject autoconfiguration of a new address.
1237 if (ifa_plen != new->ndpr_plen ||
1239 &new->ndpr_prefix.sin6_addr,
1261 if (TWOHOUR < new->ndpr_vltime ||
1262 storedlifetime < new->ndpr_vltime) {
1263 lt6_tmp.ia6t_vltime = new->ndpr_vltime;
1271 && new->ndpr_vltime <= storedlifetime
1275 lt6_tmp.ia6t_vltime = new->ndpr_vltime;
1279 * new->ndpr_vltime <= TWOHOUR &&
1286 lt6_tmp.ia6t_pltime = new->ndpr_pltime;
1314 if (ia6_match == NULL && new->ndpr_vltime) {
1317 * Create a new address.
1319 if ((ia6 = in6_ifadd(new, NULL)) != NULL) {
1321 * note that we should use pr (not new) for reference.
1330 pr->ndpr_addr = new->ndpr_addr;
1335 * When a new public address is created as described
1336 * in RFC2462, also create a new temporary address.
1339 * When an interface connects to a new link, a new
1341 * immediately together with a new set of temporary
1880 /* new prefix mask. */
1905 * keep the new address, regardless of the result of in6_update_ifa.
1964 * If by chance the new temporary address is the same as an address
1965 * already assigned to the interface, generate a new randomized
2033 * XXX: when the temporary address is generated with a new public
2035 * to do the check explicitly everywhere a new address is generated,
2036 * and, in fact, we surely need the check when we create a new
2071 in6_init_address_ltimes(__unused struct nd_prefix *new, struct in6_addrlifetime *lt6)