]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[fd4o6] Added DHCP4o6 server option
authorFrancis Dupont <fdupont@isc.org>
Mon, 14 Sep 2015 13:33:24 +0000 (15:33 +0200)
committerFrancis Dupont <fdupont@isc.org>
Mon, 14 Sep 2015 13:33:24 +0000 (15:33 +0200)
src/lib/dhcp/dhcp6.h
src/lib/dhcp/std_option_defs.h
src/lib/dhcp/tests/libdhcp++_unittest.cc

index 2cef8a7e7c71c4c3636cb97c6abed883be037994..2a3375598e9d7e48aa4a5d1b80e32dcbc5bb9e74 100644 (file)
@@ -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_O_DHCPV6_SERVER              88 /* RFC7341 */
 
 /*
  * Status Codes, from RFC 3315 section 24.4, and RFC 3633, 5007.
 #define DHCPV6_RELAY_REPL          13
 #define DHCPV6_LEASEQUERY          14
 #define DHCPV6_LEASEQUERY_REPLY    15
+/* RFC 7341 */
+#define DHCPV6_DHCPV4_QUERY        20
+#define DHCPV6_DHCPV4_RESPONSE     21
 
 extern const char *dhcpv6_type_names[];
 extern const int dhcpv6_type_name_max;
index c64528e7ee0185504c935cca00f37829da3d5fe5..67b3f872d0178378eb04624931bc8945103ca790 100644 (file)
@@ -330,7 +330,9 @@ const OptionDefParams OPTION_DEF_PARAMS6[] = {
       NO_RECORD_DEF, "" },
     { "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, "" }
+      NO_RECORD_DEF, "" },
+    { "dhcp4o6-server-addr", D6O_DHCPV4_O_DHCPV6_SERVER, OPT_IPV6_ADDRESS_TYPE, true,
+      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
index fd501acff6ed120ac0ff0e3e61f204e82a0bf5b9..1b2aff98e8bde22d60119d2f5d317b83cacb3abb 100644 (file)
@@ -1168,6 +1168,9 @@ TEST_F(LibDhcpTest, stdOptionDefs6) {
     LibDhcpTest::testStdOptionDefs6(D6O_ERP_LOCAL_DOMAIN_NAME,
                                     fqdn_buf.begin(), fqdn_buf.end(),
                                     typeid(OptionCustom));
+
+    LibDhcpTest::testStdOptionDefs6(D6O_DHCPV4_O_DHCPV6_SERVER, begin, end,
+                                    typeid(Option6AddrLst));
 }
 
 // This test checks if the DHCPv6 option definition can be searched by