mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-23 09:21:53 +00:00
MRT: instead of crashing, ignore non-BGP attributes
This commit is contained in:
parent
7ee27418a7
commit
946386f2dd
@ -1247,7 +1247,11 @@ bgp_export_attrs(struct bgp_export_state *s, ea_list *attrs)
|
||||
static inline int
|
||||
bgp_encode_attr(struct bgp_write_state *s, eattr *a, byte *buf, uint size)
|
||||
{
|
||||
ASSERT(EA_PROTO(a->id) == PROTOCOL_BGP);
|
||||
if (EA_PROTO(a->id) != PROTOCOL_BGP)
|
||||
if (s->ignore_non_bgp_attrs)
|
||||
return 0;
|
||||
else
|
||||
bug("Tried to encode a non-BGP attribute");
|
||||
|
||||
uint code = EA_ID(a->id);
|
||||
|
||||
|
@ -453,6 +453,7 @@ struct bgp_write_state {
|
||||
int add_path;
|
||||
int mpls;
|
||||
int sham;
|
||||
int ignore_non_bgp_attrs;
|
||||
|
||||
eattr *mp_next_hop;
|
||||
const adata *mpls_labels;
|
||||
|
@ -594,7 +594,10 @@ mrt_table_dump_free(struct mrt_table_dump_state *s)
|
||||
static int
|
||||
mrt_table_dump_step(struct mrt_table_dump_state *s)
|
||||
{
|
||||
struct bgp_write_state bws = { .as4_session = 1 };
|
||||
struct bgp_write_state bws = {
|
||||
.as4_session = 1,
|
||||
.ignore_non_bgp_attrs = 1,
|
||||
};
|
||||
|
||||
s->max = 2048;
|
||||
s->bws = &bws;
|
||||
|
Loading…
Reference in New Issue
Block a user