}
void route_vty_out_flowspec(struct vty *vty, struct prefix *p,
- struct bgp_info *binfo,
- int display, json_object *json_paths)
+ struct bgp_path_info *binfo, int display,
+ json_object *json_paths)
{
struct attr *attr;
char return_string[BGP_FLOWSPEC_STRING_DISPLAY_MAX];
json_object_array_add(json_paths, json_time_path);
}
if (display == NLRI_STRING_FORMAT_LARGE) {
- struct bgp_info_extra *extra = bgp_info_extra_get(binfo);
+ struct bgp_path_info_extra *extra = bgp_info_extra_get(binfo);
if (extra->bgp_fs_pbr) {
struct listnode *node;
struct bgp_pbr_match_entry *bpme;
struct bgp_pbr_match *bpm;
- int unit = 0;
+ bool list_began = false;
struct list *list_bpm;
list_bpm = list_new();
if (listnode_lookup(list_bpm, bpm))
continue;
listnode_add(list_bpm, bpm);
- if (unit == 0)
+ if (!list_began) {
vty_out(vty, " (");
- else
+ list_began = true;
+ } else
vty_out(vty, ", ");
vty_out(vty, "%s", bpm->ipset_name);
- unit++;
}
- if (unit)
+ if (list_began)
vty_out(vty, ")");
vty_out(vty, "\n");
- list_delete_and_null(&list_bpm);
+ list_delete(&list_bpm);
} else
vty_out(vty, "\tnot installed in PBR\n");
}
int bgp_show_table_flowspec(struct vty *vty, struct bgp *bgp, afi_t afi,
struct bgp_table *table, enum bgp_show_type type,
- void *output_arg, uint8_t use_json,
- int is_last, unsigned long *output_cum,
- unsigned long *total_cum)
+ void *output_arg, bool use_json, int is_last,
+ unsigned long *output_cum, unsigned long *total_cum)
{
- struct bgp_info *ri;
+ struct bgp_path_info *ri;
struct bgp_node *rn;
unsigned long total_count = 0;
json_object *json_paths = NULL;
{
struct bgp *bgp = VTY_GET_CONTEXT(bgp);
int idx = 0;
- const char *no = strmatch(argv[0]->text, (char *)"no") ? "no" : NULL;
+ const char *no = strmatch(argv[0]->text, "no") ? "no" : NULL;
char *ifname = argv_find(argv, argc, "INTERFACE", &idx) ?
argv[idx]->arg : NULL;
return bgp_fs_local_install_interface(bgp, no, ifname);
}
-extern int bgp_flowspec_display_match_per_ip(afi_t afi,
- struct bgp_table *rib,
- struct prefix *match,
- int prefix_check,
- struct vty *vty,
- uint8_t use_json,
- json_object *json_paths)
+extern int bgp_flowspec_display_match_per_ip(afi_t afi, struct bgp_table *rib,
+ struct prefix *match,
+ int prefix_check, struct vty *vty,
+ bool use_json,
+ json_object *json_paths)
{
struct bgp_node *rn;
struct prefix *prefix;