home *** CD-ROM | disk | FTP | other *** search
- /* $KAME: mip6_common.h,v 1.9 2000/03/25 07:23:50 sumikawa Exp $ */
-
- /*
- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
- /*
- * Copyright (c) 1999 and 2000 Ericsson Radio Systems AB
- * All rights reserved.
- *
- * Author: Hesham Soliman <hesham.soliman@ericsson.com.au>
- * Martti Kuparinen <martti.kuparinen@ericsson.com>
- */
-
-
- #ifndef _NETINET6_MIP6_COMMON_H_
- #define _NETINET6_MIP6_COMMON_H_
-
-
-
- /* SIOCs used for communication between kernel and user space.
- *
- * SIOCSDEBUG_MIP6 Set MIP6 debug on/off
- * <mip6config -d>
- * SIOCSBCFLUSH_MIP6 Remove list of BC
- * <mip6stat -C>
- * SIOCSDEFCONFIG_MIP6 Restore default configuration
- * <mip6stat -P>
- * SIOCSBRUPDATE_MIP6 Set time when CN should send Binding request
- * <mip6config -w>
- * SIOCSENABLEBR_MIP6 Enable sending BR to the MN
- * <mip6config -q>
- * SIOCSHALISTFLUSH_MIP6 Remove list of Home Agents
- * <mip6stat -A>
- * SIOCSHAPREF_MIP6 HA preference
- * <mip6config -y>
- * SIOCSFWDSLUNICAST_MIP6 Enable forwarding of SL Unicast dest addresses
- * <mip6config -u>
- * SIOCSFWDSLMULTICAST_MIP6 Enable forwarding of SL Multicast dest addresses
- * <mip6config -m>
- * SIOCSFORADDRFLUSH_MIP6 Remove default foreign address from list
- * <mip6stat -F>
- * SIOCSHADDRFLUSH_MIP6 Remove Home Address
- * <mip6stat -M>
- * SIOCSBULISTFLUSH_MIP6 Remove Binding Update list
- * <mip6stat -U>
- * SIOCACOADDR_MIP6 Set Default foreign IP Address
- * <mip6config -F>
- * SIOCAHOMEADDR_MIP6 Add home address
- * <mip6config -H>
- * SIOCSBULIFETIME_MIP6 Set default BU lifetime
- * <mip6config -b>
- * SIOCSHRLIFETIME_MIP6 Set default lifetime for home registration, not BU
- * <mip6config -l>
- * SIOCDCOADDR_MIP6 Remove default foreign address from list
- * <mip6config -E>
- * SIOCSPROMMODE_MIP6 Enable link layer promiscuous mode
- * <mip6config -p>
- * SIOCSBU2CN_MIP6 Enable sending BU to CN, i.e. Route opt on/off
- * <mip6config -r>
- * SIOCSREVTUNNEL_MIP6 Enable tunneling of packets from MN to CN via HA
- * <mip6config -t>
- * SIOCSAUTOCONFIG_MIP6 Allow autoconfiguration of Home address
- * <mip6config -a>
- * SIOCSEAGERMD_MIP6 Enable eager Movement Detection
- * <mip6config -e>
- */
- #define SIOCSDEBUG_MIP6 _IOWR('M', 1, struct mip6_input_data)
- #define SIOCSBCFLUSH_MIP6 _IOWR('M', 2, int)
- #define SIOCSDEFCONFIG_MIP6 _IOWR('M', 3, int)
- #define SIOCSBRUPDATE_MIP6 _IOWR('M', 4, u_int8_t)
- #define SIOCSENABLEBR_MIP6 _IOWR('M', 5, u_int8_t)
-
- #define SIOCSHALISTFLUSH_MIP6 _IOWR('M', 6, int)
- #define SIOCSHAPREF_MIP6 _IOWR('M', 7, int)
- #define SIOCSFWDSLUNICAST_MIP6 _IOWR('M', 8, int)
- #define SIOCSFWDSLMULTICAST_MIP6 _IOWR('M', 9, int)
-
- #define SIOCSFORADDRFLUSH_MIP6 _IOWR('M', 10, int)
- #define SIOCSHADDRFLUSH_MIP6 _IOWR('M', 11, int)
- #define SIOCSBULISTFLUSH_MIP6 _IOWR('M', 12, int)
- #define SIOCACOADDR_MIP6 _IOWR('M', 13, struct mip6_input_data)
- #define SIOCAHOMEADDR_MIP6 _IOWR('M', 14, struct mip6_input_data)
- #define SIOCSBULIFETIME_MIP6 _IOWR('M', 15, struct mip6_input_data)
- #define SIOCSHRLIFETIME_MIP6 _IOWR('M', 16, struct mip6_input_data)
- #define SIOCDCOADDR_MIP6 _IOWR('M', 17, struct mip6_input_data)
- #define SIOCSPROMMODE_MIP6 _IOWR('M', 18, struct mip6_input_data)
- #define SIOCSBU2CN_MIP6 _IOWR('M', 19, struct mip6_input_data)
- #define SIOCSREVTUNNEL_MIP6 _IOWR('M', 20, struct mip6_input_data)
- #define SIOCSAUTOCONFIG_MIP6 _IOWR('M', 21, struct mip6_input_data)
- #define SIOCSEAGERMD_MIP6 _IOWR('M', 22, struct mip6_input_data)
- #define SIOCSATTACH_MIP6 _IOWR('M', 23, struct mip6_input_data)
- #define SIOCSRELEASE_MIP6 _IOWR('M', 24, struct mip6_input_data)
-
-
- /*
- * Information about which module that has been compiled into the kernel or
- * loaded as a module.
- */
- #define MIP6_MN_MODULE 0x01
- #define MIP6_HA_MODULE 0x02
-
-
- /*
- * Generic message to pass configuration parameters from mip6config to
- * kernel.
- */
- struct mip6_input_data {
- char if_name[IFNAMSIZ]; /* Interface name */
- u_int8_t prefix_len; /* Prefix length for address */
- struct in6_addr ip6_addr; /* Address */
- struct in6_addr ha_addr; /* Corresponding Home Agent */
- u_int32_t value; /* Value */
- };
-
- #endif /* not _NETINET6_MIP6_COMMON_H_ */
-