147 lines
5.2 KiB
C
147 lines
5.2 KiB
C
|
|
/*
|
|
******************************************************************************
|
|
* HEADER FILE
|
|
*
|
|
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmip4_vendor_ext.h,v $ $Revision: 1.3 $
|
|
* $Source: /home/interpeak/CVSRoot/ipmip4/config/ipmip4_vendor_ext.h,v $
|
|
* $Author: jhorteli $ $Date: 2009-03-02 17:34:49 $
|
|
* $State: Exp $ $Locker: $
|
|
*
|
|
* INTERPEAK_COPYRIGHT_STRING
|
|
* Design and implementation by Joel Hortelius <joel.hortelius@interpeak.se>
|
|
******************************************************************************
|
|
*/
|
|
#ifndef IPMIP4_VENDOR_EXT_H
|
|
#define IPMIP4_VENDOR_EXT_H
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 1 DESCRIPTION
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 2 CONFIGURATION
|
|
****************************************************************************
|
|
*/
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 3 INCLUDE FILES
|
|
****************************************************************************
|
|
*/
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 4 DEFINES
|
|
****************************************************************************
|
|
*/
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF 14
|
|
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_REQ 0
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_PREFIXLEN 1
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DNS_SERVER 2
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DHCP_SERVER 3
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DHCP_CID 4
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DEFAULT_GW 5
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DNS_SUFFIX 6
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_CONFIG_URL 7
|
|
|
|
/* Testing purposes */
|
|
#ifdef IPTESTENGINE
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_MN 0 /* Understood by Mobile Node */
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_FA 1 /* Understood by Foreign Agent */
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_HA 2 /* Understood by Home Agent */
|
|
#define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_ALL 3 /* Understood by ALL */
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 5 TYPES
|
|
****************************************************************************
|
|
*/
|
|
union Ipmip4_msgext_uhdr;
|
|
|
|
#ifdef IPTESTENGINE
|
|
typedef struct Ipmip4_vendor_ext_msgext_wr
|
|
{
|
|
union Ipmip4_msgext_uhdr *nvse_noop_mn;
|
|
union Ipmip4_msgext_uhdr *nvse_noop_fa;
|
|
union Ipmip4_msgext_uhdr *nvse_noop_ha;
|
|
union Ipmip4_msgext_uhdr *nvse_noop_all;
|
|
union Ipmip4_msgext_uhdr *cvse_noop_mn;
|
|
union Ipmip4_msgext_uhdr *cvse_noop_fa;
|
|
union Ipmip4_msgext_uhdr *cvse_noop_ha;
|
|
union Ipmip4_msgext_uhdr *cvse_noop_all;
|
|
} Ipmip4_vendor_ext_msgext_wr_t;
|
|
#endif
|
|
|
|
/* Cisco vendor extensions; RFC 4332 */
|
|
typedef struct Ipmip4_vendor_ext_msgext_cisco
|
|
{
|
|
union Ipmip4_msgext_uhdr *cfg_req;
|
|
union Ipmip4_msgext_uhdr *prefixlen;
|
|
union Ipmip4_msgext_uhdr *dns_server;
|
|
union Ipmip4_msgext_uhdr *dhcp_server;
|
|
union Ipmip4_msgext_uhdr *dhcp_cid;
|
|
union Ipmip4_msgext_uhdr *default_gw;
|
|
union Ipmip4_msgext_uhdr *dns_suffix;
|
|
union Ipmip4_msgext_uhdr *config_url;
|
|
} Ipmip4_vendor_ext_msgext_cisco_t;
|
|
|
|
|
|
typedef struct Ipmip4_vendor_ext_msgext
|
|
{
|
|
#ifdef IPTESTENGINE
|
|
Ipmip4_vendor_ext_msgext_wr_t wr;
|
|
#endif
|
|
/**/
|
|
Ipmip4_vendor_ext_msgext_cisco_t cisco;
|
|
} Ipmip4_vendor_ext_msgext_t;
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 5 TYPES
|
|
****************************************************************************
|
|
*/
|
|
struct Ipmip4_msgext_mobile;
|
|
union Ipmip4_msgext_uhdr;
|
|
|
|
/*
|
|
****************************************************************************
|
|
* 6 FUNCTIONS
|
|
****************************************************************************
|
|
*/
|
|
|
|
|
|
/*
|
|
*===========================================================================
|
|
* ipmip4_vendor_ext_parse_cisco
|
|
*===========================================================================
|
|
* Description: Parse a cisco extension.
|
|
* Parameters: mobile - The mobile structure to store the result in.
|
|
* uhdr - The UHDR
|
|
* Returns: IPMIP4_REG_EXT_SUCCESS on succes, IPMIP4_REG_EXT_UNKNOWN if
|
|
* not known; other error code if failed.
|
|
*
|
|
*/
|
|
IP_GLOBAL int ipmip4_vendor_ext_parse_cisco(struct Ipmip4_msgext_mobile *mobile,
|
|
union Ipmip4_msgext_uhdr *uhdr);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
/*
|
|
****************************************************************************
|
|
* END OF FILE
|
|
****************************************************************************
|
|
*/
|