summaryrefslogtreecommitdiffstats
path: root/src/libsystemd-network/radv-internal.h
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2017-08-14 11:53:11 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2017-09-07 08:51:26 +0200
commite9c6da386849a6d262c1d605be911922f2cb7428 (patch)
treee5c98bd1841ec875315f03ebe78f7a7b13674e82 /src/libsystemd-network/radv-internal.h
parentnetworkd: Parse DNS IPv6 information for Router Advertisement (diff)
downloadsystemd-e9c6da386849a6d262c1d605be911922f2cb7428.tar.xz
systemd-e9c6da386849a6d262c1d605be911922f2cb7428.zip
sd-radv: Add Router Advertisement DNS information
Add Router Advertisement Recursive DNS Server information as specified in RFC 8106.
Diffstat (limited to 'src/libsystemd-network/radv-internal.h')
-rw-r--r--src/libsystemd-network/radv-internal.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libsystemd-network/radv-internal.h b/src/libsystemd-network/radv-internal.h
index b21d4e54cb..c3f847ec05 100644
--- a/src/libsystemd-network/radv-internal.h
+++ b/src/libsystemd-network/radv-internal.h
@@ -35,12 +35,21 @@ assert_cc(SD_RADV_DEFAULT_MIN_TIMEOUT_USEC <= SD_RADV_DEFAULT_MAX_TIMEOUT_USEC)
#define SD_RADV_MIN_DELAY_BETWEEN_RAS 3
#define SD_RADV_MAX_RA_DELAY_TIME_USEC (500*USEC_PER_MSEC)
+#define SD_RADV_OPT_RDNSS 25
+
enum RAdvState {
SD_RADV_STATE_IDLE = 0,
SD_RADV_STATE_ADVERTISING = 1,
};
typedef enum RAdvState RAdvState;
+struct sd_radv_opt_dns {
+ uint8_t type;
+ uint8_t length;
+ uint16_t reserved;
+ be32_t lifetime;
+} _packed_;
+
struct sd_radv {
unsigned n_ref;
RAdvState state;
@@ -63,6 +72,9 @@ struct sd_radv {
unsigned n_prefixes;
LIST_HEAD(sd_radv_prefix, prefixes);
+
+ size_t n_rdnss;
+ struct sd_radv_opt_dns *rdnss;
};
struct sd_radv_prefix {