]> git.proxmox.com Git - mirror_frr.git/blame - ospf6d/ospf6_flood.h
Merge pull request #13639 from opensourcerouting/ospf-timestamp-truncation
[mirror_frr.git] / ospf6d / ospf6_flood.h
CommitLineData
acddc0ed 1// SPDX-License-Identifier: GPL-2.0-or-later
48454375 2/*
3 * Copyright (C) 2003 Yasuhiro Ohara
48454375 4 */
5
6#ifndef OSPF6_FLOOD_H
7#define OSPF6_FLOOD_H
8
1e05838a 9/* Debug option */
10extern unsigned char conf_debug_ospf6_flooding;
d62a17ae 11#define OSPF6_DEBUG_FLOODING_ON() (conf_debug_ospf6_flooding = 1)
12#define OSPF6_DEBUG_FLOODING_OFF() (conf_debug_ospf6_flooding = 0)
13#define IS_OSPF6_DEBUG_FLOODING (conf_debug_ospf6_flooding)
1e05838a 14
48454375 15/* Function Prototypes */
d62a17ae 16extern struct ospf6_lsdb *ospf6_get_scoped_lsdb(struct ospf6_lsa *lsa);
17extern struct ospf6_lsdb *ospf6_get_scoped_lsdb_self(struct ospf6_lsa *lsa);
48454375 18
6452df09 19/* origination & purging */
71165098 20extern void ospf6_lsa_originate(struct ospf6 *ospf6, struct ospf6_lsa *lsa);
d62a17ae 21extern void ospf6_lsa_originate_process(struct ospf6_lsa *lsa,
22 struct ospf6 *process);
23extern void ospf6_lsa_originate_area(struct ospf6_lsa *lsa,
24 struct ospf6_area *oa);
25extern void ospf6_lsa_originate_interface(struct ospf6_lsa *lsa,
26 struct ospf6_interface *oi);
4dc43886 27void ospf6_external_lsa_purge(struct ospf6 *ospf6, struct ospf6_lsa *lsa);
d62a17ae 28extern void ospf6_lsa_purge(struct ospf6_lsa *lsa);
690df177
CS
29
30extern void ospf6_lsa_purge_multi_ls_id(struct ospf6_area *oa,
31 struct ospf6_lsa *lsa);
6452df09 32
33/* access method to retrans_count */
d62a17ae 34extern void ospf6_increment_retrans_count(struct ospf6_lsa *lsa);
35extern void ospf6_decrement_retrans_count(struct ospf6_lsa *lsa);
6452df09 36
37/* flooding & clear flooding */
d62a17ae 38extern void ospf6_flood_clear(struct ospf6_lsa *lsa);
39extern void ospf6_flood(struct ospf6_neighbor *from, struct ospf6_lsa *lsa);
40extern void ospf6_flood_area(struct ospf6_neighbor *from, struct ospf6_lsa *lsa,
41 struct ospf6_area *oa);
6452df09 42
43/* receive & install */
d62a17ae 44extern void ospf6_receive_lsa(struct ospf6_neighbor *from,
45 struct ospf6_lsa_header *header);
46extern void ospf6_install_lsa(struct ospf6_lsa *lsa);
48454375 47
d62a17ae 48extern int config_write_ospf6_debug_flood(struct vty *vty);
49extern void install_element_ospf6_debug_flood(void);
76249532
CS
50extern void ospf6_flood_interface(struct ospf6_neighbor *from,
51 struct ospf6_lsa *lsa,
52 struct ospf6_interface *oi);
53extern int ospf6_lsupdate_send_neighbor_now(struct ospf6_neighbor *on,
54 struct ospf6_lsa *lsa);
1e05838a 55
ad500b22
K
56extern void ospf6_flood_clear_area(struct ospf6_lsa *lsa,
57 struct ospf6_area *oa);
48454375 58#endif /* OSPF6_FLOOD_H */