Parcourir la source

[4273] Addressed comments

Francis Dupont il y a 8 ans
Parent
commit
397d745be7

+ 49 - 0
doc/examples/kea4/dhcpv4-over-dhcpv6.json

@@ -0,0 +1,49 @@
+# This is an example configuration file for the DHCPv4 server of
+# DHCPv4-over-DHCPv6 tests in Kea.
+
+{
+
+# DHCPv4 conf
+"Dhcp4":
+{
+  "interfaces-config": {
+    "interfaces": [ "eno33554984" ]
+  },
+
+  "lease-database": {
+    "type": "memfile",
+    "name": "leases4"
+  },
+
+  "valid-lifetime": 4000,
+
+  "subnet4": [
+   {    "subnet": "10.10.10.0/24",
+        # Don't forget the "4o6-" before "interface" here!
+        "4o6-interface": "eno33554984",
+        "4o6-subnet": "2001:db8:1:1::/64",
+        "pools": [ { "pool": "10.10.10.100 - 10.10.10.199" } ] }
+  ],
+
+  # This enables DHCPv4-over-DHCPv6 support
+  "dhcp4o6-port": 6767
+
+},
+
+"Logging":
+{
+  "loggers": [
+    {
+      "name": "kea-dhcp4",
+      "output_options": [
+          {
+            "output": "/tmp/kea-dhcp4.log"
+          }
+      ],
+      "severity": "DEBUG",
+      "debuglevel": 0
+    }
+  ]
+}
+
+}

+ 60 - 0
doc/examples/kea6/dhcpv4-over-dhcpv6.json

@@ -0,0 +1,60 @@
+# This is an example configuration file for the DHCPv6 server of
+# DHCPv4-over-DHCPv6 tests in Kea.
+
+{
+
+# DHCPv6 conf
+"Dhcp6":
+{
+  "interfaces-config": {
+    # Enable unicast
+    "interfaces": [ "eno33554984/2001:db8:1:1::1" ]
+  },
+
+  "lease-database": {
+    "type": "memfile",
+    "name": "leases6"
+  },
+
+  "preferred-lifetime": 3000,
+  "valid-lifetime": 4000,
+  "renew-timer": 1000,
+  "rebind-timer": 2000,
+
+  "subnet6": [
+   {   "subnet": "2001:db8:1:1::/64",
+       "interface": "eno33554984",
+       "pools": [ { "pool": "2001:db8:1:1::1:0/112" } ] }
+   ],
+
+  # This enables DHCPv4-over-DHCPv6 support
+  "dhcp4o6-port": 6767,
+
+  # Required by DHCPv4-over-DHCPv6 clients
+  "option-data": [
+   {  "name": "dhcp4o6-server-addr",
+      "code": 88,
+      "space": "dhcp6",
+      "csv-format": true,
+      # Put the server address here
+      "data": "2001:db8:1:1::1" }
+   ]
+},
+
+"Logging":
+{
+  "loggers": [
+    {
+      "name": "kea-dhcp6",
+      "output_options": [
+          {
+            "output": "/tmp/kea-dhcp6.log"
+          }
+      ],
+      "severity": "DEBUG",
+      "debuglevel": 0
+    }
+  ]
+}
+
+}

+ 18 - 21
doc/guide/dhcp4-srv.xml

@@ -154,7 +154,6 @@ strings <userinput>path</userinput>/kea-dhcp4 | sed -n 's/;;;; //p'
     "valid-lifetime": 4000,
     "renew-timer": 1000,
     "rebind-timer": 2000,
-    "dhcp4o6-port": 6767,
 
 # Next we setup the interfaces to be used by the server.
     "interfaces-config": {
@@ -228,10 +227,7 @@ define T1 and T2 timers that govern when the client will begin the renewal and
 rebind procedures. Note that <command>renew-timer</command> and
 <command>rebind-timer</command> are optional. If they are not specified the
 client will select values for T1 and T2 timers according to the
-<ulink url="http://tools.ietf.org/html/rfc2131">RFC 2131</ulink>.
-<command>dhcp4o6-port</command> is used by the DHCPv4-over-DHCPv6 support
-(more in <xref linkend="dhcp4-dhcp4o6-config"/>).
-</para>
+<ulink url="http://tools.ietf.org/html/rfc2131">RFC 2131</ulink>.</para>
 
 <para>The <command>interfaces-config</command> map specifies the server
 configuration concerning the network interfaces, on which the server should
@@ -2441,29 +2437,30 @@ It is merely echoed by the server
       The <command>dhcp4o6-port</command> global parameter specifies
       the first of the two consecutive ports of the UDP sockets used
       for the communication between the DHCPv6 and DHCPv4 servers
-      (DHCPv4-QUERY requests from the DHCPv6 side are received on the
-      first socket, DHCPv4-RESPONSE replies are sent back on the
-      second socket to the DHCPv6 side which forwards them to
-      clients).
+      (the DHCPv4 server is bound to ::1 on the port 1 and connected
+      to ::1 on port).
       </para>
       <para>
-      The subnet selection uses 3 specific configuration entries,
-      the presence of any of these enables the subnet for
-      DHCPv4-over-DHCPv6. These entries are:
+      With DHCPv4-over-DHCPv6 the DHCPv4 server does not have access
+      to several of the identifiers it would normally use to select a
+      subnet.  In order to address this issue three new configuration
+      entires have been added.  The presence of any of these allows the
+      subnet to be used with DHCPv4-over-DHCPv6.  These entries are:
       <itemizedlist>
         <listitem>
-        <simpara><command>4o6-interface</command>: Takes an interface name
-        which is matched against the incoming interface name.
+        <simpara><command>4o6-subnet</command>: Takes a prefix (i.e., an
+        IPv6 address followed by a slash and a prefix length) which is
+        matched against the source address.
         </simpara>
         </listitem>
         <listitem>
-        <simpara><command>4o6-subnet</command>: Takes a prefix (i.e, an
-        IPv6 address followed by a slash and a prefix length).
+        <simpara><command>4o6-interface-id</command>: Takes a relay interface
+        ID option value.
         </simpara>
         </listitem>
         <listitem>
-        <simpara><command>4o6-interface-id</command>: Takes a relay interface
-        ID option value.
+        <simpara><command>4o6-interface</command>: Takes an interface name
+        which is matched against the incoming interface name.
         </simpara>
         </listitem>
       </itemizedlist>
@@ -2489,12 +2486,12 @@ It is merely echoed by the server
 
   "subnet4": [
    {    "subnet": "10.10.10.0/24",
-        "4o6-interface": "eno33554984",
-        "4o6-subnet": "2001:db8:1:1::/64",
+        <userinput>"4o6-interface": "eno33554984",</userinput>
+        <userinput>"4o6-subnet": "2001:db8:1:1::/64",</userinput>
         "pools": [ { "pool": "10.10.10.100 - 10.10.10.199" } ] }
   ],
 
-  "dhcp4o6-port": 6767
+  <userinput>"dhcp4o6-port": 6767</userinput>
 
 },
 

+ 5 - 9
doc/guide/dhcp6-srv.xml

@@ -154,7 +154,6 @@ strings <userinput>path</userinput>/kea-dhcp6 | sed -n 's/;;;; //p'
     "rebind-timer": 2000,
     "preferred-lifetime": 3000,
     "valid-lifetime": 4000,
-    "dhcp4o6-port": 6767,
 
 # Next we setup the interfaces to be used by the server.
     "interfaces-config": {
@@ -228,10 +227,7 @@ around them.) The address will become deprecated in 3000 seconds (clients are
 allowed to keep old connections, but can't use this address for creating new
 connections). <command>renew-timer</command> and <command>
 rebind-timer</command> are values that define T1 and T2 timers that govern when
-the client will begin the renewal and rebind procedures.
-<command>dhcp4o6-port</command> is used by the DHCPv4-over-DHCPv6 support
-(more in <xref linkend="dhcp6-dhcp4o6-config"/>).
-</para>
+the client will begin the renewal and rebind procedures.</para>
 
 <para>The <command>interfaces-config</command> map specifies the server
 configuration concerning the network interfaces, on which the server should
@@ -2203,9 +2199,8 @@ should include options from the isc option space:
       There is only one specific parameter for the DHCPv6 side:
       <command>dhcp4o6-port</command> which specifies the first of the
       two consecutive ports of the UDP sockets used for the communication
-      between the DHCPv6 and DHCPv4 servers (received DHCPv4-QUERY requests
-      are forwarded to the DHCPv4 side on the first socket, DHCPv4-RESPONSE
-      replies on the second socket are forwarded to clients).
+      between the DHCPv6 and DHCPv4 servers (the DHCPv6 server is bound
+      to ::1 on the port and connected to ::1 on port + 1).
       </para>
       <para>
       Two other configuration entries are in general required: unicast traffic
@@ -2240,7 +2235,7 @@ should include options from the isc option space:
        "pools": [ { "pool": "2001:db8:1:1::1:0/112" } ] }
    ],
 
-  "dhcp4o6-port": 6767,
+  <userinput>"dhcp4o6-port": 6767,
 
   "option-data": [
    {  "name": "dhcp4o6-server-addr",
@@ -2249,6 +2244,7 @@ should include options from the isc option space:
       "csv-format": true,
       "data": "2001:db8:1:1::1" }
    ]
+</userinput>
 },
 
 "Logging":