Browse Source

[4273] Addressed comments

Francis Dupont 8 years ago
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,
     "valid-lifetime": 4000,
     "renew-timer": 1000,
     "renew-timer": 1000,
     "rebind-timer": 2000,
     "rebind-timer": 2000,
-    "dhcp4o6-port": 6767,
 
 
 # Next we setup the interfaces to be used by the server.
 # Next we setup the interfaces to be used by the server.
     "interfaces-config": {
     "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
 rebind procedures. Note that <command>renew-timer</command> and
 <command>rebind-timer</command> are optional. If they are not specified the
 <command>rebind-timer</command> are optional. If they are not specified the
 client will select values for T1 and T2 timers according to 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
 <para>The <command>interfaces-config</command> map specifies the server
 configuration concerning the network interfaces, on which the server should
 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 <command>dhcp4o6-port</command> global parameter specifies
       the first of the two consecutive ports of the UDP sockets used
       the first of the two consecutive ports of the UDP sockets used
       for the communication between the DHCPv6 and DHCPv4 servers
       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>
       <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>
       <itemizedlist>
         <listitem>
         <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>
         </simpara>
         </listitem>
         </listitem>
         <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>
         </simpara>
         </listitem>
         </listitem>
         <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>
         </simpara>
         </listitem>
         </listitem>
       </itemizedlist>
       </itemizedlist>
@@ -2489,12 +2486,12 @@ It is merely echoed by the server
 
 
   "subnet4": [
   "subnet4": [
    {    "subnet": "10.10.10.0/24",
    {    "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" } ] }
         "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,
     "rebind-timer": 2000,
     "preferred-lifetime": 3000,
     "preferred-lifetime": 3000,
     "valid-lifetime": 4000,
     "valid-lifetime": 4000,
-    "dhcp4o6-port": 6767,
 
 
 # Next we setup the interfaces to be used by the server.
 # Next we setup the interfaces to be used by the server.
     "interfaces-config": {
     "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
 allowed to keep old connections, but can't use this address for creating new
 connections). <command>renew-timer</command> and <command>
 connections). <command>renew-timer</command> and <command>
 rebind-timer</command> are values that define T1 and T2 timers that govern when
 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
 <para>The <command>interfaces-config</command> map specifies the server
 configuration concerning the network interfaces, on which the server should
 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:
       There is only one specific parameter for the DHCPv6 side:
       <command>dhcp4o6-port</command> which specifies the first of the
       <command>dhcp4o6-port</command> which specifies the first of the
       two consecutive ports of the UDP sockets used for the communication
       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>
       <para>
       <para>
       Two other configuration entries are in general required: unicast traffic
       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" } ] }
        "pools": [ { "pool": "2001:db8:1:1::1:0/112" } ] }
    ],
    ],
 
 
-  "dhcp4o6-port": 6767,
+  <userinput>"dhcp4o6-port": 6767,
 
 
   "option-data": [
   "option-data": [
    {  "name": "dhcp4o6-server-addr",
    {  "name": "dhcp4o6-server-addr",
@@ -2249,6 +2244,7 @@ should include options from the isc option space:
       "csv-format": true,
       "csv-format": true,
       "data": "2001:db8:1:1::1" }
       "data": "2001:db8:1:1::1" }
    ]
    ]
+</userinput>
 },
 },
 
 
 "Logging":
 "Logging":