mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-03-27 05:37:22 +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"
|
||||
#endif
|
||||
|
||||
#ifdef IPX_CHANGE
|
||||
#include "ipxcp.h"
|
||||
#endif /* IPX_CHANGE */
|
||||
#ifdef AT_CHANGE
|
||||
#include "atcp.h"
|
||||
#endif
|
||||
@ -291,9 +288,6 @@ struct protent *protocols[] = {
|
||||
#endif
|
||||
&ccp_protent,
|
||||
&ecp_protent,
|
||||
#ifdef IPX_CHANGE
|
||||
&ipxcp_protent,
|
||||
#endif
|
||||
#ifdef AT_CHANGE
|
||||
&atcp_protent,
|
||||
#endif
|
||||
|
@ -127,16 +127,6 @@
|
||||
#include "fsm.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
|
||||
#include <pcap-bpf.h>
|
||||
#include <linux/filter.h>
|
||||
@ -2781,98 +2771,6 @@ sifnpmode(u, proto, mode)
|
||||
}
|
||||
#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.
|
||||
*/
|
||||
@ -2896,22 +2794,6 @@ get_host_seed()
|
||||
int
|
||||
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) {
|
||||
option_error("demand dialling is not supported by kernel driver "
|
||||
"version %d.%d.%d", driver_version, driver_modification,
|
||||
|
Loading…
x
Reference in New Issue
Block a user