From 7441929e4d7aa4bf91134cb85ac9baf7efa4ea7c Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Mon, 14 Sep 2015 15:53:43 +0200 Subject: [PATCH] [fd4o6] Added DHCPv4 message option --- src/lib/dhcp/dhcp6.h | 5 +++++ src/lib/dhcp/std_option_defs.h | 3 ++- src/lib/dhcp/tests/libdhcp++_unittest.cc | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/dhcp/dhcp6.h b/src/lib/dhcp/dhcp6.h index 439f470037..ecfd351724 100644 --- a/src/lib/dhcp/dhcp6.h +++ b/src/lib/dhcp/dhcp6.h @@ -68,6 +68,7 @@ #define D6O_ERP_LOCAL_DOMAIN_NAME 65 /* RFC6440 */ #define D6O_RSOO 66 /* RFC6422 */ #define D6O_CLIENT_LINKLAYER_ADDR 79 /* RFC6939 */ +#define D6O_DHCPV4_MSG 87 /* RFC7341 */ #define D6O_DHCPV4_O_DHCPV6_SERVER 88 /* RFC7341 */ /* @@ -193,4 +194,8 @@ extern const int dhcpv6_type_name_max; #define IRT_DEFAULT 86400 #define IRT_MINIMUM 600 +/* DHCPv4-query message flags */ + +#define DHCPV4_QUERY_FLAGS0_UNICAST 0x80 + #endif /* DHCP6_H */ diff --git a/src/lib/dhcp/std_option_defs.h b/src/lib/dhcp/std_option_defs.h index 67b3f872d0..e7dc154ae9 100644 --- a/src/lib/dhcp/std_option_defs.h +++ b/src/lib/dhcp/std_option_defs.h @@ -331,8 +331,9 @@ const OptionDefParams OPTION_DEF_PARAMS6[] = { { "rsoo", D6O_RSOO, OPT_EMPTY_TYPE, false, NO_RECORD_DEF, "rsoo-opts" }, { "client-linklayer-addr", D6O_CLIENT_LINKLAYER_ADDR, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" }, + { "dhcpv4-message", D6O_DHCPV4_MSG, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" }, { "dhcp4o6-server-addr", D6O_DHCPV4_O_DHCPV6_SERVER, OPT_IPV6_ADDRESS_TYPE, true, - NO_RECORD_DEF, "" }, + NO_RECORD_DEF, "" } // @todo There is still a bunch of options for which we have to provide // definitions but we don't do it because they are not really diff --git a/src/lib/dhcp/tests/libdhcp++_unittest.cc b/src/lib/dhcp/tests/libdhcp++_unittest.cc index 1b2aff98e8..dc1952b7f9 100644 --- a/src/lib/dhcp/tests/libdhcp++_unittest.cc +++ b/src/lib/dhcp/tests/libdhcp++_unittest.cc @@ -1169,6 +1169,9 @@ TEST_F(LibDhcpTest, stdOptionDefs6) { fqdn_buf.begin(), fqdn_buf.end(), typeid(OptionCustom)); + LibDhcpTest::testStdOptionDefs6(D6O_DHCPV4_MSG, begin, end, + typeid(Option)); + LibDhcpTest::testStdOptionDefs6(D6O_DHCPV4_O_DHCPV6_SERVER, begin, end, typeid(Option6AddrLst)); } -- 2.47.2