DNS queries with optional records (RRs), for example, with cookies for EDNS, are not supported by the OVN resolver. Trying to reply sometimes results in mangled responses that clients do not understand.
Instead, just return early when one is present, which should trigger a negative response and cause clients to go to the upstream forwarder, hopefully resulting in a successful query. Closes issue #192 Signed-off-by: Brian Haley <haleyb....@gmail.com> --- Changes since v1: - Added issue #192 to commit message --- controller/pinctrl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/controller/pinctrl.c b/controller/pinctrl.c index b5df8b1eb..b45b4c747 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -2864,6 +2864,13 @@ pinctrl_handle_dns_lookup( goto exit; } + /* Check if there is an additional record present, which is unsupported */ + if (in_dns_header->arcount) { + VLOG_DBG_RL(&rl, "Received DNS query with additional records, which" + " is unsupported"); + goto exit; + } + struct udp_header *in_udp = dp_packet_l4(pkt_in); size_t udp_len = ntohs(in_udp->udp_len); size_t l4_len = dp_packet_l4_size(pkt_in); -- 2.34.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev