From 3c068338f452b064c8d13b41365cfbc6c1153c73 Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Thu, 10 May 2018 16:24:47 +0200 Subject: [PATCH] [5536] Added DHCPv6 RADIUS option --- src/lib/dhcp/dhcp6.h | 2 +- src/lib/dhcp/std_option_defs.h | 2 ++ src/lib/dhcp/tests/libdhcp++_unittest.cc | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/dhcp/dhcp6.h b/src/lib/dhcp/dhcp6.h index dc343686c0..c6b8d9d7e2 100644 --- a/src/lib/dhcp/dhcp6.h +++ b/src/lib/dhcp/dhcp6.h @@ -98,7 +98,7 @@ enum DHCPv6OptionType { // D6O_KRB_KDC = 78, /* RFC6784 */ D6O_CLIENT_LINKLAYER_ADDR = 79, /* RFC6939 */ D6O_LINK_ADDRESS = 80, /* RFC6977 */ -// D6O_RADIUS = 81, /* RFC7037 */ + D6O_RADIUS = 81, /* RFC7037 */ D6O_SOL_MAX_RT = 82, /* RFC7083 */ D6O_INF_MAX_RT = 83, /* RFC7083 */ // D6O_ADDRSEL = 84, /* RFC7078 */ diff --git a/src/lib/dhcp/std_option_defs.h b/src/lib/dhcp/std_option_defs.h index 4e9d82923b..e84585edea 100644 --- a/src/lib/dhcp/std_option_defs.h +++ b/src/lib/dhcp/std_option_defs.h @@ -437,6 +437,8 @@ const OptionDefParams STANDARD_V6_OPTION_DEFINITIONS[] = { NO_RECORD_DEF, "" }, { "link-address", D6O_LINK_ADDRESS, OPT_IPV6_ADDRESS_TYPE, false, NO_RECORD_DEF, "" }, + // @todo: find a way to parse content as RADIUS attributes. + { "radius", D6O_RADIUS, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" }, { "solmax-rt", D6O_SOL_MAX_RT, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" }, { "inf-max-rt", D6O_INF_MAX_RT, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" }, { "dhcpv4-message", D6O_DHCPV4_MSG, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" }, diff --git a/src/lib/dhcp/tests/libdhcp++_unittest.cc b/src/lib/dhcp/tests/libdhcp++_unittest.cc index 89d5e65092..f2bf01654d 100644 --- a/src/lib/dhcp/tests/libdhcp++_unittest.cc +++ b/src/lib/dhcp/tests/libdhcp++_unittest.cc @@ -1721,6 +1721,11 @@ TEST_F(LibDhcpTest, stdOptionDefs6) { LibDhcpTest::testStdOptionDefs6(D6O_LINK_ADDRESS, begin, begin + 16, typeid(OptionCustom)); + // @todo: Put real RADIUS options in content when we'll be able to + // parse it... + LibDhcpTest::testStdOptionDefs6(D6O_RADIUS, begin, end, + typeid(Option)); + LibDhcpTest::testStdOptionDefs6(D6O_SOL_MAX_RT, begin, begin + 4, typeid(OptionInt)); -- 2.47.2