On Tue, Apr 18, 2023 at 03:38:12PM +0200, Claudio Jeker wrote:
> Extend the pt_entry api to handle flowspec.
> Introduce pt_get_flow() and pt_add_flow() to lookup and insert flowspec
> objects. Add pt_getflowspec() which works somewhat similar to pt_getaddr()
> to extract the flowspec NLRI from a pt_entry.
> 
> There is a hack in pt_getaddr() to return something. This is the
> destination prefix of the flowspec rule (or a default route if that is
> missing).  Also extend pt_write() to handle flowspec NLRI.

This reads fine to me. These casting and union gymnastics make me squirm,
but it's not the moment to rethink this.

Regarding the unused prefixlen, I think that's only superficially the
case. flowspec_cmp() will extract it again and use it.

So I think this is ok as it is.

> @@ -471,7 +575,8 @@ pt_writebuf(struct ibuf *buf, struct pt_
>  {
>       struct pt_entry_vpn4    *pvpn4 = (struct pt_entry_vpn4 *)pte;
>       struct pt_entry_vpn6    *pvpn6 = (struct pt_entry_vpn6 *)pte;
> -     int                      totlen;
> +     struct pt_entry_flow    *pflow = (struct pt_entry_flow *)pte;
> +     int                      totlen, flowlen;
                ^
There is a space before a tab hiding here.

Reply via email to