Interface Instance IDs in OSPFv3

Benjamin Paterson paterson.b at
Wed May 9 18:18:19 CEST 2012

I am intrigued by the following bit of code in BIRD 1.3.7 proto/ospf/iface.c

ospf_ifa_notify(struct proto *p, unsigned flags, struct ifa *a)
if (flags & IF_CHANGE_UP)
      int done0 = 0;
      struct ospf_area *oa;

      WALK_LIST(oa, po->area_list)
int iid = 0;

struct ospf_iface_patt *ip;
while (ip = ospf_iface_patt_find(oa->ac, a->iface, iid))
  ospf_iface_new(oa, a, ip);
  if (ip->instance_id == 0)
  iid = ip->instance_id + 1;

I might be wrong here, but if I understand correctly, the code expects the
set of instance IDs configured on each interface to be of the form [| 0, n
In addition, I haven't seen any option to manually set Instance IDs.

Is there any reason why this should be the case? I would like to manually
set the instance ID to something other than 0, without necessarily having
other protocol instances running on the same interface.


- Benjamin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Bird-users mailing list