]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_route.h
bgpd/ospfd: resolve warnings for bgp/ospf json commit
[mirror_frr.git] / bgpd / bgp_route.h
index debd6d1ff315f0491507fe26f69e0dbdeaff1322..476bb3aa0508d3586bad6223cca95271ffdeacab 100644 (file)
@@ -52,12 +52,19 @@ enum bgp_show_type {
        bgp_show_type_detail,
 };
 
+enum bgp_show_adj_route_type {
+       bgp_show_adj_route_advertised,
+       bgp_show_adj_route_received,
+       bgp_show_adj_route_filtered,
+};
+
 
 #define BGP_SHOW_SCODE_HEADER                                                  \
-       "Status codes: s suppressed, d damped, "                               \
+       "Status codes:  s suppressed, d damped, "                              \
        "h history, * valid, > best, = multipath,\n"                           \
-       "              i internal, r RIB-failure, S Stale, R Removed\n"
-#define BGP_SHOW_OCODE_HEADER "Origin codes: i - IGP, e - EGP, ? - incomplete\n\n"
+       "               i internal, r RIB-failure, S Stale, R Removed\n"
+#define BGP_SHOW_OCODE_HEADER "Origin codes:  i - IGP, e - EGP, ? - incomplete\n\n"
+#define BGP_SHOW_NCODE_HEADER "Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self\n"
 #define BGP_SHOW_HEADER "   Network          Next Hop            Metric LocPrf Weight Path\n"
 
 /* Maximum number of labels we can process or send with a prefix. We
@@ -139,6 +146,8 @@ struct bgp_info_extra {
         * Set nexthop_orig.family to 0 if not valid.
         */
        struct prefix nexthop_orig;
+       /* presence of FS pbr entry */
+       struct list *bgp_fs_pbr;
 };
 
 struct bgp_info {
@@ -190,6 +199,7 @@ struct bgp_info {
 #define BGP_INFO_MULTIPATH      (1 << 11)
 #define BGP_INFO_MULTIPATH_CHG  (1 << 12)
 #define BGP_INFO_RIB_ATTR_CHG   (1 << 13)
+#define BGP_INFO_ANNC_NH_SELF   (1 << 14)
 
        /* BGP route type.  This can be static, RIP, OSPF, BGP etc.  */
        uint8_t type;
@@ -318,7 +328,8 @@ static inline void bgp_bump_version(struct bgp_node *node)
 static inline int bgp_fibupd_safi(safi_t safi)
 {
        if (safi == SAFI_UNICAST || safi == SAFI_MULTICAST
-           || safi == SAFI_LABELED_UNICAST)
+           || safi == SAFI_LABELED_UNICAST
+           || safi == SAFI_FLOWSPEC)
                return 1;
        return 0;
 }
@@ -424,8 +435,9 @@ extern void route_vty_out(struct vty *, struct prefix *, struct bgp_info *, int,
                          safi_t, json_object *);
 extern void route_vty_out_tag(struct vty *, struct prefix *, struct bgp_info *,
                              int, safi_t, json_object *);
-extern void route_vty_out_tmp(struct vty *, struct prefix *, struct attr *,
-                             safi_t, uint8_t, json_object *);
+extern void route_vty_out_tmp(struct vty *vty, struct prefix *p,
+                             struct attr *attr, safi_t safi, bool use_json,
+                             json_object *json_ar);
 extern void route_vty_out_overlay(struct vty *vty, struct prefix *p,
                                  struct bgp_info *binfo, int display,
                                  json_object *json);
@@ -473,5 +485,5 @@ extern void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
 extern int bgp_show_table_rd(struct vty *vty, struct bgp *bgp, safi_t safi,
                             struct bgp_table *table, struct prefix_rd *prd,
                             enum bgp_show_type type, void *output_arg,
-                            uint8_t use_json);
+                            bool use_json);
 #endif /* _QUAGGA_BGP_ROUTE_H */