diff options
Diffstat (limited to 'ospf6d/ospf6_top.h')
| -rw-r--r-- | ospf6d/ospf6_top.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/ospf6d/ospf6_top.h b/ospf6d/ospf6_top.h index 51df4b6b8e..fe02cd3f84 100644 --- a/ospf6d/ospf6_top.h +++ b/ospf6d/ospf6_top.h @@ -29,7 +29,6 @@ struct ospf6_master { struct list *ospf6; /* OSPFv3 thread master. */ struct thread_master *master; - in_addr_t zebra_router_id; }; /* ospf6->config_flags */ @@ -38,9 +37,12 @@ enum { OSPF6_LOG_ADJACENCY_DETAIL = (1 << 1), }; +/* For processing route-map change update in the callback */ +#define OSPF6_IS_RMAP_CHANGED 0x01 struct ospf6_redist { uint8_t instance; + uint8_t flag; /* Redistribute metric info. */ struct { int type; /* External metric type (E1 or E2). */ @@ -71,7 +73,7 @@ struct ospf6 { /* static router id */ in_addr_t router_id_static; - struct in_addr router_id_zebra; + in_addr_t router_id_zebra; /* start time */ struct timeval starttime; @@ -89,6 +91,7 @@ struct ospf6 { struct ospf6_route_table *external_table; struct route_table *external_id_table; +#define OSPF6_EXT_INIT_LS_ID 1 uint32_t external_id; /* OSPF6 redistribute configuration */ @@ -128,6 +131,7 @@ struct ospf6 { struct thread *maxage_remover; struct thread *t_distribute_update; /* Distirbute update timer. */ struct thread *t_ospf6_receive; /* OSPF6 receive timer */ + struct thread *t_external_aggr; /* OSPF6 aggregation timer */ #define OSPF6_WRITE_INTERFACE_COUNT_DEFAULT 20 struct thread *t_write; @@ -156,16 +160,22 @@ struct ospf6 { struct list *oi_write_q; uint32_t redist_count; + + /* Action for aggregation of external LSAs */ + int aggr_action; + +#define OSPF6_EXTL_AGGR_DEFAULT_DELAY 5 + /* For ASBR summary delay timer */ + int aggr_delay_interval; + /* Table of configured Aggregate addresses */ + struct route_table *rt_aggr_tbl; + QOBJ_FIELDS; }; DECLARE_QOBJ_TYPE(ospf6); #define OSPF6_DISABLED 0x01 #define OSPF6_STUB_ROUTER 0x02 -#define OSPF6_MAX_IF_ADDRS 100 -#define OSPF6_MAX_IF_ADDRS_JUMBO 200 -#define OSPF6_DEFAULT_MTU 1500 -#define OSPF6_JUMBO_MTU 9000 /* global pointer for OSPF top data structure */ extern struct ospf6 *ospf6; @@ -186,4 +196,5 @@ struct ospf6 *ospf6_lookup_by_vrf_id(vrf_id_t vrf_id); struct ospf6 *ospf6_lookup_by_vrf_name(const char *name); const char *ospf6_vrf_id_to_name(vrf_id_t vrf_id); void ospf6_vrf_init(void); +bool ospf6_is_valid_summary_addr(struct vty *vty, struct prefix *p); #endif /* OSPF6_TOP_H */ |
