Interface Instance IDs in OSPFv3

Benjamin Paterson paterson.b at gmail.com
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

void
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)
    done0++;
  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.

Thanks

- Benjamin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20120509/f2b8d5ee/attachment.html>


More information about the Bird-users mailing list