mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-03-30 07:20:20 +00:00
world changed, removed IPX support
This commit is contained in:
parent
4885b39121
commit
00648c27eb
File diff suppressed because it is too large
Load Diff
@ -1,94 +0,0 @@
|
|||||||
/*
|
|
||||||
* ipxcp.h - IPX Control Protocol definitions.
|
|
||||||
*
|
|
||||||
* Copyright (c) 1984-2000 Carnegie Mellon University. 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. The name "Carnegie Mellon University" must not be used to
|
|
||||||
* endorse or promote products derived from this software without
|
|
||||||
* prior written permission. For permission or any legal
|
|
||||||
* details, please contact
|
|
||||||
* Office of Technology Transfer
|
|
||||||
* Carnegie Mellon University
|
|
||||||
* 5000 Forbes Avenue
|
|
||||||
* Pittsburgh, PA 15213-3890
|
|
||||||
* (412) 268-4387, fax: (412) 268-7395
|
|
||||||
* tech-transfer@andrew.cmu.edu
|
|
||||||
*
|
|
||||||
* 4. Redistributions of any form whatsoever must retain the following
|
|
||||||
* acknowledgment:
|
|
||||||
* "This product includes software developed by Computing Services
|
|
||||||
* at Carnegie Mellon University (http://www.cmu.edu/computing/)."
|
|
||||||
*
|
|
||||||
* CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
|
|
||||||
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
||||||
* AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
|
|
||||||
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
|
||||||
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
|
||||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
*
|
|
||||||
* $Id: ipxcp.h,v 1.5 2002/12/04 23:03:32 paulus Exp $
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Options.
|
|
||||||
*/
|
|
||||||
#define IPX_NETWORK_NUMBER 1 /* IPX Network Number */
|
|
||||||
#define IPX_NODE_NUMBER 2
|
|
||||||
#define IPX_COMPRESSION_PROTOCOL 3
|
|
||||||
#define IPX_ROUTER_PROTOCOL 4
|
|
||||||
#define IPX_ROUTER_NAME 5
|
|
||||||
#define IPX_COMPLETE 6
|
|
||||||
|
|
||||||
/* Values for the router protocol */
|
|
||||||
#define IPX_NONE 0
|
|
||||||
#define RIP_SAP 2
|
|
||||||
#define NLSP 4
|
|
||||||
|
|
||||||
typedef struct ipxcp_options {
|
|
||||||
bool neg_node; /* Negotiate IPX node number? */
|
|
||||||
bool req_node; /* Ask peer to send IPX node number? */
|
|
||||||
|
|
||||||
bool neg_nn; /* Negotiate IPX network number? */
|
|
||||||
bool req_nn; /* Ask peer to send IPX network number */
|
|
||||||
|
|
||||||
bool neg_name; /* Negotiate IPX router name */
|
|
||||||
bool neg_complete; /* Negotiate completion */
|
|
||||||
bool neg_router; /* Negotiate IPX router number */
|
|
||||||
|
|
||||||
bool accept_local; /* accept peer's value for ournode */
|
|
||||||
bool accept_remote; /* accept peer's value for hisnode */
|
|
||||||
bool accept_network; /* accept network number */
|
|
||||||
|
|
||||||
bool tried_nlsp; /* I have suggested NLSP already */
|
|
||||||
bool tried_rip; /* I have suggested RIP/SAP already */
|
|
||||||
|
|
||||||
u_int32_t his_network; /* base network number */
|
|
||||||
u_int32_t our_network; /* our value for network number */
|
|
||||||
u_int32_t network; /* the final network number */
|
|
||||||
|
|
||||||
u_char his_node[6]; /* peer's node number */
|
|
||||||
u_char our_node[6]; /* our node number */
|
|
||||||
u_char name [48]; /* name of the router */
|
|
||||||
int router; /* routing protocol */
|
|
||||||
} ipxcp_options;
|
|
||||||
|
|
||||||
extern fsm ipxcp_fsm[];
|
|
||||||
extern ipxcp_options ipxcp_wantoptions[];
|
|
||||||
extern ipxcp_options ipxcp_gotoptions[];
|
|
||||||
extern ipxcp_options ipxcp_allowoptions[];
|
|
||||||
extern ipxcp_options ipxcp_hisoptions[];
|
|
||||||
|
|
||||||
extern struct protent ipxcp_protent;
|
|
@ -117,9 +117,6 @@
|
|||||||
#include "cbcp.h"
|
#include "cbcp.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef IPX_CHANGE
|
|
||||||
#include "ipxcp.h"
|
|
||||||
#endif /* IPX_CHANGE */
|
|
||||||
#ifdef AT_CHANGE
|
#ifdef AT_CHANGE
|
||||||
#include "atcp.h"
|
#include "atcp.h"
|
||||||
#endif
|
#endif
|
||||||
@ -291,9 +288,6 @@ struct protent *protocols[] = {
|
|||||||
#endif
|
#endif
|
||||||
&ccp_protent,
|
&ccp_protent,
|
||||||
&ecp_protent,
|
&ecp_protent,
|
||||||
#ifdef IPX_CHANGE
|
|
||||||
&ipxcp_protent,
|
|
||||||
#endif
|
|
||||||
#ifdef AT_CHANGE
|
#ifdef AT_CHANGE
|
||||||
&atcp_protent,
|
&atcp_protent,
|
||||||
#endif
|
#endif
|
||||||
|
@ -127,16 +127,6 @@
|
|||||||
#include "fsm.h"
|
#include "fsm.h"
|
||||||
#include "ipcp.h"
|
#include "ipcp.h"
|
||||||
|
|
||||||
#ifdef IPX_CHANGE
|
|
||||||
#include "ipxcp.h"
|
|
||||||
#if __GLIBC__ >= 2 && \
|
|
||||||
!(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
|
|
||||||
#include <netipx/ipx.h>
|
|
||||||
#else
|
|
||||||
#include <linux/ipx.h>
|
|
||||||
#endif
|
|
||||||
#endif /* IPX_CHANGE */
|
|
||||||
|
|
||||||
#ifdef PPP_FILTER
|
#ifdef PPP_FILTER
|
||||||
#include <pcap-bpf.h>
|
#include <pcap-bpf.h>
|
||||||
#include <linux/filter.h>
|
#include <linux/filter.h>
|
||||||
@ -2781,98 +2771,6 @@ sifnpmode(u, proto, mode)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/********************************************************************
|
|
||||||
*
|
|
||||||
* sipxfaddr - Config the interface IPX networknumber
|
|
||||||
*/
|
|
||||||
|
|
||||||
int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
|
|
||||||
{
|
|
||||||
int result = 1;
|
|
||||||
|
|
||||||
#ifdef IPX_CHANGE
|
|
||||||
int skfd;
|
|
||||||
struct ifreq ifr;
|
|
||||||
struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
|
|
||||||
|
|
||||||
skfd = socket (AF_IPX, SOCK_DGRAM, 0);
|
|
||||||
if (skfd < 0) {
|
|
||||||
if (! ok_error (errno))
|
|
||||||
dbglog("socket(AF_IPX): %m (line %d)", __LINE__);
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
memset (&ifr, '\0', sizeof (ifr));
|
|
||||||
strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
|
|
||||||
|
|
||||||
memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
|
|
||||||
sipx->sipx_family = AF_IPX;
|
|
||||||
sipx->sipx_port = 0;
|
|
||||||
sipx->sipx_network = htonl (network);
|
|
||||||
sipx->sipx_type = IPX_FRAME_ETHERII;
|
|
||||||
sipx->sipx_action = IPX_CRTITF;
|
|
||||||
/*
|
|
||||||
* Set the IPX device
|
|
||||||
*/
|
|
||||||
if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
|
|
||||||
result = 0;
|
|
||||||
if (errno != EEXIST) {
|
|
||||||
if (! ok_error (errno))
|
|
||||||
dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (line %d)", __LINE__);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close (skfd);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************************************************
|
|
||||||
*
|
|
||||||
* cipxfaddr - Clear the information for the IPX network. The IPX routes
|
|
||||||
* are removed and the device is no longer able to pass IPX
|
|
||||||
* frames.
|
|
||||||
*/
|
|
||||||
|
|
||||||
int cipxfaddr (int unit)
|
|
||||||
{
|
|
||||||
int result = 1;
|
|
||||||
|
|
||||||
#ifdef IPX_CHANGE
|
|
||||||
int skfd;
|
|
||||||
struct ifreq ifr;
|
|
||||||
struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
|
|
||||||
|
|
||||||
skfd = socket (AF_IPX, SOCK_DGRAM, 0);
|
|
||||||
if (skfd < 0) {
|
|
||||||
if (! ok_error (errno))
|
|
||||||
dbglog("socket(AF_IPX): %m (line %d)", __LINE__);
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
memset (&ifr, '\0', sizeof (ifr));
|
|
||||||
strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
|
|
||||||
|
|
||||||
sipx->sipx_type = IPX_FRAME_ETHERII;
|
|
||||||
sipx->sipx_action = IPX_DLTITF;
|
|
||||||
sipx->sipx_family = AF_IPX;
|
|
||||||
/*
|
|
||||||
* Set the IPX device
|
|
||||||
*/
|
|
||||||
if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
|
|
||||||
if (! ok_error (errno))
|
|
||||||
info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (line %d)", __LINE__);
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
close (skfd);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the hostname as part of the random number seed.
|
* Use the hostname as part of the random number seed.
|
||||||
*/
|
*/
|
||||||
@ -2896,22 +2794,6 @@ get_host_seed()
|
|||||||
int
|
int
|
||||||
sys_check_options(void)
|
sys_check_options(void)
|
||||||
{
|
{
|
||||||
#ifdef IPX_CHANGE
|
|
||||||
/*
|
|
||||||
* Disable the IPX protocol if the support is not present in the kernel.
|
|
||||||
*/
|
|
||||||
char *path;
|
|
||||||
|
|
||||||
if (ipxcp_protent.enabled_flag) {
|
|
||||||
struct stat stat_buf;
|
|
||||||
if ( ((path = path_to_procfs("/net/ipx/interface")) == NULL
|
|
||||||
&& (path = path_to_procfs("/net/ipx_interface")) == NULL)
|
|
||||||
|| lstat(path, &stat_buf) < 0) {
|
|
||||||
error("IPX support is not present in the kernel\n");
|
|
||||||
ipxcp_protent.enabled_flag = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (demand && driver_is_old) {
|
if (demand && driver_is_old) {
|
||||||
option_error("demand dialling is not supported by kernel driver "
|
option_error("demand dialling is not supported by kernel driver "
|
||||||
"version %d.%d.%d", driver_version, driver_modification,
|
"version %d.%d.%d", driver_version, driver_modification,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user