#ifndef _QUAGGA_BGP_ROUTE_H
#define _QUAGGA_BGP_ROUTE_H
-#include <json/json.h>
+#include "lib/json.h"
#include "queue.h"
#include "bgp_table.h"
u_char tag[3];
};
+#define BGP_ATTR_NEXTHOP_AFI_IP6(attr) \
+ (! CHECK_FLAG (attr->flag, ATTR_FLAG_BIT (BGP_ATTR_NEXT_HOP)) && \
+ (attr)->extra && ((attr)->extra->mp_nexthop_len == 16 || \
+ (attr)->extra->mp_nexthop_len == 32))
#define BGP_INFO_COUNTABLE(BI) \
(! CHECK_FLAG ((BI)->flags, BGP_INFO_HISTORY) \
&& ! CHECK_FLAG ((BI)->flags, BGP_INFO_REMOVED))
extern void bgp_clear_adj_in (struct peer *, afi_t, safi_t);
extern void bgp_clear_stale_route (struct peer *, afi_t, safi_t);
+extern struct bgp_node *bgp_afi_node_get (struct bgp_table *table, afi_t afi,
+ safi_t safi, struct prefix *p,
+ struct prefix_rd *prd);
extern struct bgp_info *bgp_info_lock (struct bgp_info *);
extern struct bgp_info *bgp_info_unlock (struct bgp_info *);
extern void bgp_info_add (struct bgp_node *rn, struct bgp_info *ri);