summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_network.h
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_network.h')
-rw-r--r--bgpd/bgp_network.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/bgpd/bgp_network.h b/bgpd/bgp_network.h
new file mode 100644
index 0000000..7a0b3cc
--- /dev/null
+++ b/bgpd/bgp_network.h
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/* BGP network related header
+ * Copyright (C) 1999 Kunihiro Ishiguro
+ */
+
+#ifndef _QUAGGA_BGP_NETWORK_H
+#define _QUAGGA_BGP_NETWORK_H
+
+#define BGP_SOCKET_SNDBUF_SIZE 65536
+
+struct bgp_listener {
+ int fd;
+ union sockunion su;
+ struct event *thread;
+ struct bgp *bgp;
+ char *name;
+};
+
+extern void bgp_dump_listener_info(struct vty *vty);
+extern int bgp_socket(struct bgp *bgp, unsigned short port,
+ const char *address);
+extern void bgp_close_vrf_socket(struct bgp *bgp);
+extern void bgp_close(void);
+extern int bgp_connect(struct peer_connection *connection);
+extern int bgp_getsockname(struct peer *peer);
+
+extern int bgp_md5_set_prefix(struct bgp *bgp, struct prefix *p,
+ const char *password);
+extern int bgp_md5_unset_prefix(struct bgp *bgp, struct prefix *p);
+extern int bgp_md5_set(struct peer_connection *connection);
+extern int bgp_md5_unset(struct peer_connection *connection);
+extern int bgp_set_socket_ttl(struct peer_connection *connection);
+extern int bgp_tcp_mss_set(struct peer *peer);
+extern int bgp_update_address(struct interface *ifp, const union sockunion *dst,
+ union sockunion *addr);
+
+#endif /* _QUAGGA_BGP_NETWORK_H */