Hi Rob,

Try the attached patch.

Regards,
Alexander

On Sun, Sep 7, 2025 at 11:29 AM Rob Lister <r...@lonap.net> wrote:

>
> Hello,
>
> I've enabled cli "/path/to/socket.ctl" { v2 attributes; } for backward
> compatibility, but
> it looks like some of the attributes are not displayed in the v2 format:
>
> (bgp_community and bgp_large_community)
>
>
> 91.xxx.xxx.xxx/22      unicast [pb_as65001_vli19999_ipv4 2025-09-06
> 22:35:27] * (100) [AS65002i]
>          via 5.57.82.xx on eth1
>          Type: BGP univ
>          BGP.origin: IGP
>          BGP.as_path: 65001 65002
>          BGP.next_hop: 5.57.82.xx
>          BGP.local_pref: 100
>          bgp_community: (65001,1) (65001,64702)
>          bgp_large_community: (8330, 1000, 1) (8330, 1001, 1)
>
>
> BIRD 2 shows it as:
>
>          BGP.community:
>          BGP.large_community:
>
>
> I searched the code and it's in
> https://gitlab.nic.cz/labs/bird/-/blob/v3.1.3/proto/bgp/attrs.c
>
> But I don't know any C, and it doesn't look like an "obvious" problem.
>
> But this file is more than 3000 lines of code. So I ran away and hid.
>
>
> Rob
>
>
> --
> Rob Lister
> r...@lonap.net
> +44 20 3137 8330
>
diff --git a/nest/rt-attr.c b/nest/rt-attr.c
index 3aaca0a46..b28744af3 100644
--- a/nest/rt-attr.c
+++ b/nest/rt-attr.c
@@ -1341,13 +1341,13 @@ ea_show(struct cli *c, const eattr *e)
 	  as_path_format(ad, pos, end - pos);
 	  break;
 	case T_CLIST:
-	  ea_show_int_set(c, cls->name, ad, ISF_COMMUNITY_LIST, buf);
+	  ea_show_int_set(c, name, ad, ISF_COMMUNITY_LIST, buf);
 	  return;
 	case T_ECLIST:
-	  ea_show_ec_set(c, cls->name, ad, buf);
+	  ea_show_ec_set(c, name, ad, buf);
 	  return;
 	case T_LCLIST:
-	  ea_show_lc_set(c, cls->name, ad, buf);
+	  ea_show_lc_set(c, name, ad, buf);
 	  return;
 	case T_STRING:
 	  bsnprintf(pos, end - pos, "%s", (const char *) ad->data);

Reply via email to