From 0cb01bde499979066389975ba81670764914cbc2 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Mon, 16 Oct 2017 14:39:52 -0400 Subject: DNS name resolver improvements - Cache intermediate CNAME records - Bug fixes Change-Id: I06dcb558212fc5e9434281493c872577cf9b83e1 Signed-off-by: Dave Barach --- src/vnet/dns/dns.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/vnet/dns/dns.h') diff --git a/src/vnet/dns/dns.h b/src/vnet/dns/dns.h index 5da26156f6c..c55c6f31934 100644 --- a/src/vnet/dns/dns.h +++ b/src/vnet/dns/dns.h @@ -32,6 +32,9 @@ typedef struct /** The name in "normal human being" notation, e.g. www.foobar.com */ u8 *name; + /** For CNAME records, the "next name" to resolve */ + u8 *cname; + /** Expiration time */ f64 expiration_time; @@ -56,6 +59,7 @@ typedef struct #define DNS_CACHE_ENTRY_FLAG_VALID (1<<0) /**< we have Actual Data */ #define DNS_CACHE_ENTRY_FLAG_STATIC (1<<1) /**< static entry */ +#define DNS_CACHE_ENTRY_FLAG_CNAME (1<<2) /**< CNAME (indirect) entry */ #define DNS_RETRIES_PER_SERVER 3 @@ -112,8 +116,9 @@ typedef enum } dns46_reply_error_t; void vnet_send_dns_request (dns_main_t * dm, dns_cache_entry_t * ep); -int vnet_dns_cname_indirection_nolock (dns_main_t * dm, - dns_cache_entry_t * ep, u8 * reply); +int +vnet_dns_cname_indirection_nolock (dns_main_t * dm, u32 ep_index, u8 * reply); + int vnet_dns_delete_entry_by_index_nolock (dns_main_t * dm, u32 index); format_function_t format_dns_reply; -- cgit 1.2.3-korg