diff options
Diffstat (limited to 'bgpd/bgp_msg_write.h')
-rw-r--r-- | bgpd/bgp_msg_write.h | 112 |
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 */ |