diff options
| author | Dinesh Dutt <ddutt@cumulusnetworks.com> | 2013-08-24 08:00:37 +0000 | 
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2013-11-07 18:15:43 -0800 | 
| commit | f41b4a021659dd48d62b1a7aac4b28e3663dbdaa (patch) | |
| tree | ec4595f0d79279eef4da07145a30d104604b0035 /ospf6d/ospf6_intra.h | |
| parent | e7ad6b20d7a7c63ed7c640ab9f61c853e77508c5 (diff) | |
ospf6d: add overload support
OSPFv3: Support setting/clearing overload bit on router
It is sometimes necessary for a router to gracefully remove itself from
the SPF tree i.e. it cannot act as a transit router. It does this by
setting the overload bit in the router LSA. This patch adds support for
enabling/disabling the overload bit.
Signed-off-by: Dinesh G Dutt <ddutt at cumulusnetworks.com>
Reviewed-by: Pradosh Mohapatra <pmohapat at cumulusnetworks.com>
[DL: patch applied with fuzz]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ospf6d/ospf6_intra.h')
| -rw-r--r-- | ospf6d/ospf6_intra.h | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/ospf6d/ospf6_intra.h b/ospf6d/ospf6_intra.h index 3810174ea6..a25efa12c9 100644 --- a/ospf6d/ospf6_intra.h +++ b/ospf6d/ospf6_intra.h @@ -94,6 +94,13 @@ struct ospf6_router_lsdesc  #define OSPF6_ROUTER_LSDESC_STUB_NETWORK       3  #define OSPF6_ROUTER_LSDESC_VIRTUAL_LINK       4 +enum stub_router_mode +  { +    OSPF6_NOT_STUB_ROUTER, +    OSPF6_IS_STUB_ROUTER, +    OSPF6_IS_STUB_ROUTER_V6, +  }; +  #define ROUTER_LSDESC_IS_TYPE(t,x)                         \    ((((struct ospf6_router_lsdesc *)(x))->type ==           \     OSPF6_ROUTER_LSDESC_ ## t) ? 1 : 0) @@ -200,6 +207,7 @@ extern char *ospf6_router_lsdesc_lookup (u_char type, u_int32_t interface_id,  extern char *ospf6_network_lsdesc_lookup (u_int32_t router_id,                                            struct ospf6_lsa *lsa); +extern int ospf6_router_is_stub_router (struct ospf6_lsa *lsa);  extern int ospf6_router_lsa_originate (struct thread *);  extern int ospf6_network_lsa_originate (struct thread *);  extern int ospf6_link_lsa_originate (struct thread *);  | 
