]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
718e3744 | 2 | /* |
3 | * OSPF Flooding -- RFC2328 Section 13. | |
4 | * Copyright (C) 1999, 2000 Toshiaki Takada | |
718e3744 | 5 | */ |
6 | ||
4dadc291 | 7 | #ifndef _ZEBRA_OSPF_FLOOD_H |
8 | #define _ZEBRA_OSPF_FLOOD_H | |
718e3744 | 9 | |
d62a17ae | 10 | extern int ospf_flood(struct ospf *, struct ospf_neighbor *, struct ospf_lsa *, |
11 | struct ospf_lsa *); | |
12 | extern int ospf_flood_through(struct ospf *, struct ospf_neighbor *, | |
13 | struct ospf_lsa *); | |
14 | extern int ospf_flood_through_area(struct ospf_area *, struct ospf_neighbor *, | |
15 | struct ospf_lsa *); | |
16 | extern int ospf_flood_through_as(struct ospf *, struct ospf_neighbor *, | |
17 | struct ospf_lsa *); | |
10514170 RW |
18 | extern int ospf_flood_through_interface(struct ospf_interface *oi, |
19 | struct ospf_neighbor *inbr, | |
20 | struct ospf_lsa *lsa); | |
718e3744 | 21 | |
d62a17ae | 22 | extern unsigned long ospf_ls_request_count(struct ospf_neighbor *); |
23 | extern int ospf_ls_request_isempty(struct ospf_neighbor *); | |
24 | extern struct ospf_lsa *ospf_ls_request_new(struct lsa_header *); | |
25 | extern void ospf_ls_request_free(struct ospf_lsa *); | |
26 | extern void ospf_ls_request_add(struct ospf_neighbor *, struct ospf_lsa *); | |
27 | extern void ospf_ls_request_delete(struct ospf_neighbor *, struct ospf_lsa *); | |
28 | extern void ospf_ls_request_delete_all(struct ospf_neighbor *); | |
29 | extern struct ospf_lsa *ospf_ls_request_lookup(struct ospf_neighbor *, | |
30 | struct ospf_lsa *); | |
718e3744 | 31 | |
d62a17ae | 32 | extern unsigned long ospf_ls_retransmit_count(struct ospf_neighbor *); |
33 | extern unsigned long ospf_ls_retransmit_count_self(struct ospf_neighbor *, int); | |
34 | extern int ospf_ls_retransmit_isempty(struct ospf_neighbor *); | |
35 | extern void ospf_ls_retransmit_add(struct ospf_neighbor *, struct ospf_lsa *); | |
36 | extern void ospf_ls_retransmit_delete(struct ospf_neighbor *, | |
37 | struct ospf_lsa *); | |
38 | extern void ospf_ls_retransmit_clear(struct ospf_neighbor *); | |
39 | extern struct ospf_lsa *ospf_ls_retransmit_lookup(struct ospf_neighbor *, | |
40 | struct ospf_lsa *); | |
41 | extern void ospf_ls_retransmit_delete_nbr_area(struct ospf_area *, | |
42 | struct ospf_lsa *); | |
43 | extern void ospf_ls_retransmit_delete_nbr_as(struct ospf *, struct ospf_lsa *); | |
44 | extern void ospf_ls_retransmit_add_nbr_all(struct ospf_interface *, | |
45 | struct ospf_lsa *); | |
718e3744 | 46 | |
d62a17ae | 47 | extern void ospf_flood_lsa_area(struct ospf_lsa *, struct ospf_area *); |
48 | extern void ospf_flood_lsa_as(struct ospf_lsa *); | |
49 | extern void ospf_lsa_flush_area(struct ospf_lsa *, struct ospf_area *); | |
50 | extern void ospf_lsa_flush_as(struct ospf *, struct ospf_lsa *); | |
51 | extern void ospf_lsa_flush(struct ospf *, struct ospf_lsa *); | |
b5a8894d CS |
52 | extern struct external_info *ospf_external_info_check(struct ospf *, |
53 | struct ospf_lsa *); | |
718e3744 | 54 | |
d62a17ae | 55 | extern void ospf_lsdb_init(struct ospf_lsdb *); |
516c4c66 MN |
56 | extern void ospf_area_update_fr_state(struct ospf_area *area); |
57 | extern void ospf_refresh_dna_type5_and_type7_lsas(struct ospf *ospf); | |
718e3744 | 58 | |
4dadc291 | 59 | #endif /* _ZEBRA_OSPF_FLOOD_H */ |