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);
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;