summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_msg_write.h
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_msg_write.h')
-rw-r--r--bgpd/bgp_msg_write.h112
1 files changed, 55 insertions, 57 deletions
diff --git a/bgpd/bgp_msg_write.h b/bgpd/bgp_msg_write.h
index 8f0ebe31..68891a67 100644
--- a/bgpd/bgp_msg_write.h
+++ b/bgpd/bgp_msg_write.h
@@ -1,57 +1,55 @@
-/* BGP packet management header.
- Copyright (C) 1999 Kunihiro Ishiguro
-
-This file is part of GNU Zebra.
-
-GNU Zebra is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-GNU Zebra is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Zebra; see the file COPYING. If not, write to the Free
-Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
-
-#ifndef _QUAGGA_BGP_PACKET_H
-#define _QUAGGA_BGP_PACKET_H
-
-#define BGP_NLRI_LENGTH 1U
-#define BGP_TOTAL_ATTR_LEN 2U
-#define BGP_UNFEASIBLE_LEN 2U
-#define BGP_WRITE_PACKET_MAX 10U
-
-/* When to refresh */
-#define REFRESH_IMMEDIATE 1
-#define REFRESH_DEFER 2
-
-/* ORF Common part flag */
-#define ORF_COMMON_PART_ADD 0x00
-#define ORF_COMMON_PART_REMOVE 0x80
-#define ORF_COMMON_PART_REMOVE_ALL 0xC0
-#define ORF_COMMON_PART_PERMIT 0x00
-#define ORF_COMMON_PART_DENY 0x20
-
-/* Packet send and receive function prototypes. */
-extern int bgp_read (struct thread *);
-extern int bgp_write (struct thread *);
-
-extern void bgp_keepalive_send (struct peer *);
-extern void bgp_open_send (struct peer *);
-extern void bgp_notify_send (struct peer *, u_int8_t, u_int8_t);
-extern void bgp_notify_send_with_data (struct peer *, u_int8_t, u_int8_t,
- u_int8_t *, size_t);
-extern void bgp_route_refresh_send (struct peer *, afi_t, safi_t, u_char, u_char, int);
-extern void bgp_capability_send (struct peer *, afi_t, safi_t, int, int);
-extern void bgp_default_update_send (struct peer *, struct attr *,
- afi_t, safi_t, struct peer *);
-extern void bgp_default_withdraw_send (struct peer *, afi_t, safi_t);
-
-extern int bgp_capability_receive (struct peer *, bgp_size_t);
-
-#endif /* _QUAGGA_BGP_PACKET_H */
+/* BGP message writing -- in BGP Engine -- header
+ * Copyright (C) 1999 Kunihiro Ishiguro
+ *
+ * Recast for pthreaded bgpd: Copyright (C) 2009 Chris Hall (GMCH), Highwayman
+ *
+ * This file is part of GNU Zebra.
+ *
+ * GNU Zebra is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * GNU Zebra is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Zebra; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _QUAGGA_BGP_MSG_WRITE_H
+#define _QUAGGA_BGP_MSG_WRITE_H
+
+#include <stdint.h>
+
+#include "bgpd/bgp_common.h"
+#include "bgpd/bgp_connection.h"
+#include "bgpd/bgp_notification.h"
+#include "bgpd/bgp_open_state.h"
+#include "bgpd/bgp_route_refresh.h"
+
+#include "lib/stream.h"
+
+extern int
+bgp_msg_write_notification(bgp_connection connection, bgp_notify notification) ;
+
+extern int
+bgp_msg_send_keepalive(bgp_connection connection) ;
+
+extern int
+bgp_msg_send_open(bgp_connection connection, bgp_open_state open_state) ;
+
+extern int
+bgp_msg_send_route_refresh(bgp_connection connection, bgp_route_refresh rr) ;
+
+extern int
+bgp_packet_set_marker(struct stream *s, uint8_t type) ;
+
+extern int
+bgp_packet_set_size (struct stream *s) ;
+
+#endif /* _QUAGGA_BGP_MSG_WRITE_H */