diff options
Diffstat (limited to 'bgpd/bgp_attr.c')
-rw-r--r-- | bgpd/bgp_attr.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 5e7536ae..2de60031 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -2353,7 +2353,7 @@ bgp_attr_finish (void) /* Make attribute packet. */ void bgp_dump_routes_attr (struct stream *s, struct attr *attr, - struct prefix *prefix) + struct prefix *prefix, uint16_t flags) { unsigned long cp; unsigned long len; @@ -2494,6 +2494,14 @@ bgp_dump_routes_attr (struct stream *s, struct attr *attr, stream_putl (s, attr->pathlimit.as); } + /* Quagga extended dump attribute. */ + stream_putc (s, BGP_ATTR_FLAG_OPTIONAL); + stream_putc (s, BGP_ATTR_QUAGGA_DUMPEXT); + stream_putc (s, 3); + /* put a version byte to allow clean extensions */ + stream_putc (s, 0); + stream_putw (s, flags); + /* Return total size of attribute. */ len = stream_get_endp (s) - cp - 2; stream_putw_at (s, cp, len); |