mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-17 16:48:43 +00:00
BGP: Add received role value to role mismatch log message
This commit is contained in:
parent
804916daa9
commit
af611f93aa
@ -2363,7 +2363,7 @@ bgp_show_afis(int code, char *s, u32 *afis, uint count)
|
||||
cli_msg(code, b.start);
|
||||
}
|
||||
|
||||
static const char *
|
||||
const char *
|
||||
bgp_format_role_name(u8 role)
|
||||
{
|
||||
static const char *bgp_role_names[] = { "provider", "rs_server", "rs_client", "customer", "peer" };
|
||||
|
@ -539,9 +539,7 @@ void bgp_refresh_begin(struct bgp_channel *c);
|
||||
void bgp_refresh_end(struct bgp_channel *c);
|
||||
void bgp_store_error(struct bgp_proto *p, struct bgp_conn *c, u8 class, u32 code);
|
||||
void bgp_stop(struct bgp_proto *p, int subcode, byte *data, uint len);
|
||||
|
||||
struct rte_source *bgp_find_source(struct bgp_proto *p, u32 path_id);
|
||||
struct rte_source *bgp_get_source(struct bgp_proto *p, u32 path_id);
|
||||
const char *bgp_format_role_name(u8 role);
|
||||
|
||||
static inline int
|
||||
rte_resolvable(rte *rt)
|
||||
|
@ -908,10 +908,10 @@ bgp_rx_open(struct bgp_conn *conn, byte *pkt, uint len)
|
||||
(local_role == BGP_ROLE_PROVIDER && neigh_role == BGP_ROLE_CUSTOMER) ||
|
||||
(local_role == BGP_ROLE_RS_CLIENT && neigh_role == BGP_ROLE_RS_SERVER) ||
|
||||
(local_role == BGP_ROLE_RS_SERVER && neigh_role == BGP_ROLE_RS_CLIENT)))
|
||||
{ bgp_error(conn, 2, 11, NULL, 0); return; }
|
||||
{ bgp_error(conn, 2, 11, &neigh_role, -1); return; }
|
||||
|
||||
if ((p->cf->require_roles) && (neigh_role == BGP_ROLE_UNDEFINED))
|
||||
{ bgp_error(conn, 2, 11, NULL, 0); return; }
|
||||
{ bgp_error(conn, 2, 11, &neigh_role, -1); return; }
|
||||
|
||||
/* Check the other connection */
|
||||
other = (conn == &p->outgoing_conn) ? &p->incoming_conn : &p->outgoing_conn;
|
||||
@ -3158,6 +3158,12 @@ bgp_log_error(struct bgp_proto *p, u8 class, char *msg, uint code, uint subcode,
|
||||
goto done;
|
||||
}
|
||||
|
||||
if ((code == 2) && (subcode == 11) && (len == 1))
|
||||
{
|
||||
t += bsprintf(t, " (%s)", bgp_format_role_name(get_u8(data)));
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* RFC 8203 - shutdown communication */
|
||||
if (((code == 6) && ((subcode == 2) || (subcode == 4))))
|
||||
if (bgp_handle_message(p, data, len, &t))
|
||||
|
@ -43,10 +43,6 @@
|
||||
|
||||
#include "pipe.h"
|
||||
|
||||
#ifdef CONFIG_BGP
|
||||
#include "proto/bgp/bgp.h"
|
||||
#endif
|
||||
|
||||
static void
|
||||
pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *old)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user