Lines Matching refs:new
61 /* Allocate new route node with prefix set. */
139 route_common (struct prefix *n, struct prefix *p, struct prefix *new)
147 u_char *newp = (u_char *)&new->u.prefix;
157 new->prefixlen = i * 8;
159 if (new->prefixlen != p->prefixlen)
163 while (new->prefixlen < p->prefixlen && !(mask & diff))
166 new->prefixlen++;
168 newp[i] = np[i] & maskbit[new->prefixlen % 8];
196 set_link (struct bgp_node *node, struct bgp_node *new)
200 bit = check_bit (&new->p.u.prefix, node->p.prefixlen);
204 node->link[bit] = new;
205 new->parent = node;
305 struct bgp_node *new;
325 new = bgp_node_set (table, p);
327 set_link (match, new);
329 table->top = new;
333 new = bgp_node_create ();
334 route_common (&node->p, p, &new->p);
335 new->p.family = p->family;
336 new->table = table;
337 set_link (new, node);
340 set_link (match, new);
342 table->top = new;
344 if (new->p.prefixlen != p->prefixlen)
346 match = new;
347 new = bgp_node_set (table, p);
348 set_link (match, new);
351 bgp_lock_node (new);
353 return new;