You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2005/01/09 08:08:21 UTC
svn commit: r124712 - incubator/directory/dhcp/trunk/core/src/java/org/apache/dhcp/options/perinterface
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 );
+ }
+}
+