+ add_nftset() {
+ local IFS=,
+ for set in $1; do
+ local fam="$family"
+ [ -n "$fam" ] || fam=$(echo "$set" | sed -nre \
+ 's#^.*[^0-9]([46])$|^.*[-_]([46])[-_].*$|^([46])[^0-9].*$#\1\2\3#p')
+ [ -n "$fam" ] || \
+ fam=$(nft -t list set "$table_family" "$table" "$set" 2>&1 | sed -nre \
+ 's#^\t\ttype .*\bipv([46])_addr\b.*$#\1#p')
+
+ [ -n "$fam" ] || \
+ logger -t dnsmasq "Cannot infer address family from non-existent nftables set '$set'"
+
+ nftsets="${nftsets:+$nftsets,}${fam:+$fam#}$table_family#$table#$set"
+ done
+ }
+