In `bgpctl show flowspec inet` adjust the sent aid to a flowspec version.
The parser returns AID_INET, AID_INET6 (or the currently unsuported
AID_VPNv4/6) but bgpd wants AID_FLOWSPECv4 and AID_FLOWSPECv6.
Fix this up before sending the command.
--
:wq Claudio
Index: bgpctl.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpctl/bgpctl.c,v
retrieving revision 1.293
diff -u -p -r1.293 bgpctl.c
--- bgpctl.c 21 Apr 2023 10:49:01 -0000 1.293
+++ bgpctl.c 21 Apr 2023 15:28:00 -0000
@@ -386,7 +386,20 @@ main(int argc, char *argv[])
break;
case FLOWSPEC_SHOW:
memset(&ribreq, 0, sizeof(ribreq));
- ribreq.aid = res->aid;
+ switch (res->aid) {
+ case AID_INET:
+ ribreq.aid = AID_FLOWSPECv4;
+ break;
+ case AID_INET6:
+ ribreq.aid = AID_FLOWSPECv6;
+ break;
+ case AID_UNSPEC:
+ ribreq.aid = res->aid;;
+ break;
+ default:
+ errx(1, "flowspec family %s currently not supported",
+ aid2str(res->aid));
+ }
strlcpy(ribreq.rib, res->rib, sizeof(ribreq.rib));
imsg_compose(ibuf, IMSG_CTL_SHOW_FLOWSPEC, 0, 0, -1,
&ribreq, sizeof(ribreq));