From: Claudio Jeker Subject: bgpctl: properly show extended messages capability To: tech@openbsd.org Date: Wed, 13 May 2026 17:37:10 +0200 When adding the extended capabillity handling I forgot to add the capability to the monster if check that validates that the peer has a capability negotiated. In general as4byte and rrefres are turned on by default so one needs to really work hard to trigger this. -- :wq Claudio Index: output.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpctl/output.c,v diff -u -p -r1.74 output.c --- output.c 31 Mar 2026 09:32:12 -0000 1.74 +++ output.c 13 May 2026 15:31:35 -0000 @@ -345,7 +345,8 @@ show_neighbor_full(struct peer *p, struc } if (hascapamp || hascapaap || p->capa.peer.grestart.restart || p->capa.peer.refresh || p->capa.peer.enhanced_rr || - p->capa.peer.as4byte || p->capa.peer.policy) { + p->capa.peer.as4byte || p->capa.peer.policy || + p->capa.peer.ext_msg) { printf(" Neighbor capabilities:\n"); if (hascapamp) show_neighbor_capa_mp(&p->capa.peer); @@ -377,7 +378,8 @@ show_neighbor_full(struct peer *p, struc } if (hascapamp || hascapaap || p->capa.neg.grestart.restart || p->capa.neg.refresh || p->capa.neg.enhanced_rr || - p->capa.neg.as4byte || p->capa.neg.policy) { + p->capa.neg.as4byte || p->capa.neg.policy || + p->capa.neg.ext_msg) { printf(" Negotiated capabilities:\n"); if (hascapamp) show_neighbor_capa_mp(&p->capa.neg); Index: output_json.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpctl/output_json.c,v diff -u -p -r1.63 output_json.c --- output_json.c 17 Mar 2026 09:30:11 -0000 1.63 +++ output_json.c 13 May 2026 15:30:34 -0000 @@ -53,7 +53,8 @@ json_neighbor_capabilities(struct capabi hascapaap = 1; } if (!hascapamp && !hascapaap && !capa->grestart.restart && - !capa->refresh && !capa->enhanced_rr && !capa->as4byte) + !capa->refresh && !capa->enhanced_rr && !capa->as4byte && + !capa->ext_msg) return; json_do_object("capabilities", 0);