]> git.proxmox.com Git - mirror_frr.git/blame - ospfd/ospf_network.h
ospfd: support write socket per interface
[mirror_frr.git] / ospfd / ospf_network.h
CommitLineData
acddc0ed 1// SPDX-License-Identifier: GPL-2.0-or-later
718e3744 2/*
3 * OSPF network related functions.
4 * Copyright (C) 1999 Toshiaki Takada
718e3744 5 */
6
7#ifndef _ZEBRA_OSPF_NETWORK_H
8#define _ZEBRA_OSPF_NETWORK_H
9
10/* Prototypes. */
d62a17ae 11extern int ospf_if_add_allspfrouters(struct ospf *, struct prefix *, ifindex_t);
12extern int ospf_if_drop_allspfrouters(struct ospf *, struct prefix *,
b892f1dd 13 ifindex_t);
d62a17ae 14extern int ospf_if_add_alldrouters(struct ospf *, struct prefix *, ifindex_t);
15extern int ospf_if_drop_alldrouters(struct ospf *, struct prefix *, ifindex_t);
04a0401f 16extern int ospf_if_ipmulticast(int fd, struct prefix *, ifindex_t);
e7503eab 17extern int ospf_sock_init(struct ospf *ospf);
04a0401f
MS
18/* Open, close per-interface write socket */
19int ospf_ifp_sock_init(struct interface *ifp);
20int ospf_ifp_sock_close(struct interface *ifp);
718e3744 21
6e6e1020
MS
22enum ospf_sock_type_e {
23 OSPF_SOCK_NONE = 0,
24 OSPF_SOCK_RECV,
25 OSPF_SOCK_SEND,
26 OSPF_SOCK_BOTH
27};
28
29void ospf_sock_bufsize_update(const struct ospf *ospf, int sock,
30 enum ospf_sock_type_e type);
31
718e3744 32#endif /* _ZEBRA_OSPF_NETWORK_H */