On Thu, Jul 20, 2023 at 04:27:01PM +0200, Thomas Haller wrote: [...] > diff --git a/src/datatype.c b/src/datatype.c > index da802a18bccd..8629a38da56a 100644 > --- a/src/datatype.c > +++ b/src/datatype.c > @@ -599,27 +599,33 @@ static struct error_record *ipaddr_type_parse(struct parse_ctx *ctx, > const struct expr *sym, > struct expr **res) > { > - struct addrinfo *ai, hints = { .ai_family = AF_INET, > - .ai_socktype = SOCK_DGRAM}; > - struct in_addr *addr; > - int err; > + struct in_addr addr; > > - err = getaddrinfo(sym->identifier, NULL, &hints, &ai); > - if (err != 0) > - return error(&sym->location, "Could not resolve hostname: %s", > - gai_strerror(err)); > + if (ctx->input->flags & NFT_CTX_INPUT_NO_DNS) { There are a bunch of getters defined in include/nftables.h for output flags. I'd keep things consistent by introducing the same for input flags, so the above becomes 'if (nft_input_no_dns(ctx->input))'. In this spot it doesn't quite matter, but in the next patch you introduce mixed use of a getter (for output flags) and the binary op as seen here which is confusing. Cheers, Phil