Lines Matching refs:new
49 /* Allocate new route node. */
58 /* Allocate new route node with prefix set. */
136 route_common (struct prefix *n, struct prefix *p, struct prefix *new)
144 u_char *newp = (u_char *)&new->u.prefix;
154 new->prefixlen = i * 8;
156 if (new->prefixlen != p->prefixlen)
160 while (new->prefixlen < p->prefixlen && !(mask & diff))
163 new->prefixlen++;
165 newp[i] = np[i] & maskbit[new->prefixlen % 8];
193 set_link (struct route_node *node, struct route_node *new)
197 bit = check_bit (&new->p.u.prefix, node->p.prefixlen);
201 node->link[bit] = new;
202 new->parent = node;
319 struct route_node *new;
339 new = route_node_set (table, p);
341 set_link (match, new);
343 table->top = new;
347 new = route_node_new ();
348 route_common (&node->p, p, &new->p);
349 new->p.family = p->family;
350 new->table = table;
351 set_link (new, node);
354 set_link (match, new);
356 table->top = new;
358 if (new->p.prefixlen != p->prefixlen)
360 match = new;
361 new = route_node_set (table, p);
362 set_link (match, new);
365 route_lock_node (new);
367 return new;