Author: erodriguez
Date: Sat Jan  8 23:08:20 2005
New Revision: 124712

URL: http://svn.apache.org/viewcvs?view=rev&rev=124712
Log:
IP layer parameters per interface, per RFC 2132.
Added:
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/AllSubnetsAreLocal.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/BroadcastAddress.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/InterfaceMtu.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/MaskSupplier.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformMaskDiscovery.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformRouterDiscovery.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/RouterSolicitationAddress.java
   
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/StaticRoute.java

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/AllSubnetsAreLocal.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/AllSubnetsAreLocal.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/AllSubnetsAreLocal.java
   Sat Jan  8 23:08:20 2005
@@ -0,0 +1,49 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies whether or not the client may assume that all
+ * subnets of the IP network to which the client is connected use the
+ * same MTU as the subnet of that network to which the client is
+ * directly connected.  A value of 1 indicates that all subnets share
+ * the same MTU.  A value of 0 means that the client should assume that
+ * some subnets of the directly connected network may have smaller MTUs.
+ * 
+ * The code for this option is 27, and its length is 1.
+ */
+public class AllSubnetsAreLocal extends DhcpOption
+{
+       private byte[] allSubnetsAreLocal;
+       
+       public AllSubnetsAreLocal( byte[] allSubnetsAreLocal )
+       {
+               super( 27, 1 );
+               this.allSubnetsAreLocal = allSubnetsAreLocal;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( allSubnetsAreLocal );
+       }
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/BroadcastAddress.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/BroadcastAddress.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/BroadcastAddress.java
     Sat Jan  8 23:08:20 2005
@@ -0,0 +1,45 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies the broadcast address in use on the client's
+ * subnet.
+ * 
+ * The code for this option is 28, and its length is 4.
+ */
+public class BroadcastAddress extends DhcpOption
+{
+       private byte[] broadcastAddress;
+       
+       public BroadcastAddress( byte[] broadcastAddress )
+       {
+               super( 28, 4 );
+               this.broadcastAddress = broadcastAddress;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( broadcastAddress );
+       }       
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/InterfaceMtu.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/InterfaceMtu.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/InterfaceMtu.java
 Sat Jan  8 23:08:20 2005
@@ -0,0 +1,46 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies the MTU to use on this interface.  The MTU is
+ * specified as a 16-bit unsigned integer.  The minimum legal value for
+ * the MTU is 68.
+ * 
+ * The code for this option is 26, and its length is 2.
+ */
+public class InterfaceMtu extends DhcpOption
+{
+       private byte[] interfaceMtu;
+       
+       public InterfaceMtu( byte[] interfaceMtu )
+       {
+               super( 26, 2 );
+               this.interfaceMtu = interfaceMtu;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( interfaceMtu );
+       }
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/MaskSupplier.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/MaskSupplier.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/MaskSupplier.java
 Sat Jan  8 23:08:20 2005
@@ -0,0 +1,47 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies whether or not the client should respond to
+ * subnet mask requests using ICMP.  A value of 0 indicates that the
+ * client should not respond.  A value of 1 means that the client should
+ * respond.
+ * 
+ * The code for this option is 30, and its length is 1.
+ */
+public class MaskSupplier extends DhcpOption
+{
+       private byte[] maskSupplier;
+       
+       public MaskSupplier( byte[] maskSupplier )
+       {
+               super( 30, 1 );
+               this.maskSupplier = maskSupplier;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( maskSupplier );
+       }
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformMaskDiscovery.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformMaskDiscovery.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformMaskDiscovery.java
 Sat Jan  8 23:08:20 2005
@@ -0,0 +1,47 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies whether or not the client should perform subnet
+ * mask discovery using ICMP.  A value of 0 indicates that the client
+ * should not perform mask discovery.  A value of 1 means that the
+ * client should perform mask discovery.
+ * 
+ * The code for this option is 29, and its length is 1.
+ */
+public class PerformMaskDiscovery extends DhcpOption
+{
+       private byte[] performMaskDiscovery;
+       
+       public PerformMaskDiscovery( byte[] performMaskDiscovery )
+       {
+               super( 29, 1 );
+               this.performMaskDiscovery = performMaskDiscovery;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( performMaskDiscovery );
+       }
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformRouterDiscovery.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformRouterDiscovery.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/PerformRouterDiscovery.java
       Sat Jan  8 23:08:20 2005
@@ -0,0 +1,48 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies whether or not the client should solicit
+ * routers using the Router Discovery mechanism defined in RFC 1256.
+ * A value of 0 indicates that the client should not perform router
+ * discovery.  A value of 1 means that the client should perform
+ * router discovery.
+ * 
+ * The code for this option is 31, and its length is 1.
+ */
+public class PerformRouterDiscovery extends DhcpOption
+{
+       private byte[] performRouterDiscovery;
+       
+       public PerformRouterDiscovery( byte[] performRouterDiscovery )
+       {
+               super( 31, 1 );
+               this.performRouterDiscovery = performRouterDiscovery;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( performRouterDiscovery );
+       }
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/RouterSolicitationAddress.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/RouterSolicitationAddress.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/RouterSolicitationAddress.java
    Sat Jan  8 23:08:20 2005
@@ -0,0 +1,45 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies the address to which the client should transmit
+ * router solicitation requests.
+ * 
+ * The code for this option is 32, and its length is 4.
+ */
+public class RouterSolicitationAddress extends DhcpOption
+{
+       private byte[] routerSolicitationAddress;
+       
+       public RouterSolicitationAddress( byte[] routerSolicitationAddress )
+       {
+               super( 32, 4 );
+               this.routerSolicitationAddress = routerSolicitationAddress;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( routerSolicitationAddress );
+       }
+}
+

Added: 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/StaticRoute.java
Url: 
http://svn.apache.org/viewcvs/incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/StaticRoute.java?view=auto&rev=124712
==============================================================================
--- (empty file)
+++ 
incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface/StaticRoute.java
  Sat Jan  8 23:08:20 2005
@@ -0,0 +1,55 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+package org.apache.dhcp.options.perinterface;
+
+import java.nio.ByteBuffer;
+
+import org.apache.dhcp.options.DhcpOption;
+
+/**
+ * This option specifies a list of static routes that the client should
+ * install in its routing cache.  If multiple routes to the same
+ * destination are specified, they are listed in descending order of
+ * priority.
+ * 
+ * The routes consist of a list of IP address pairs.  The first address
+ * is the destination address, and the second address is the router for
+ * the destination.
+ * 
+ * The default route (0.0.0.0) is an illegal destination for a static
+ * route.  See section 3.5 for information about the router option.
+ * 
+ * The code for this option is 33.  The minimum length of this option is
+ * 8, and the length MUST be a multiple of 8.
+ */
+public class StaticRoute extends DhcpOption
+{
+       private byte[] staticRoute;
+       
+       public StaticRoute( byte[] staticRoute )
+       {
+               super( 33, 8 );
+               this.staticRoute = staticRoute;
+       }
+       
+       protected void valueToByteBuffer( ByteBuffer out )
+       {
+               out.put( staticRoute );
+       }
+}
+

Reply via email to