net: wan: Delete the DLCI / SDLA drivers
The DLCI driver (dlci.c) implements the Frame Relay protocol. However,
we already have another newer and better implementation of Frame Relay
provided by the HDLC_FR driver (hdlc_fr.c).
The DLCI driver's implementation of Frame Relay is used by only one
hardware driver in the kernel - the SDLA driver (sdla.c).
The SDLA driver provides Frame Relay support for the Sangoma S50x devices.
However, the vendor provides their own driver (along with their own
multi-WAN-protocol implementations including Frame Relay), called WANPIPE.
I believe most users of the hardware would use the vendor-provided WANPIPE
driver instead.
(The WANPIPE driver was even once in the kernel, but was deleted in
commit 8db60bcf30 ("[WAN]: Remove broken and unmaintained Sangoma
drivers.") because the vendor no longer updated the in-kernel WANPIPE
driver.)
Cc: Mike McLagan <mike.mclagan@linux.org>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Link: https://lore.kernel.org/r/20201114150921.685594-1-xie.he.0141@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -1,123 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* DLCI/FRAD Definitions for Frame Relay Access Devices. DLCI devices are
|
||||
* created for each DLCI associated with a FRAD. The FRAD driver
|
||||
* is not truly a network device, but the lower level device
|
||||
* handler. This allows other FRAD manufacturers to use the DLCI
|
||||
* code, including its RFC1490 encapsulation alongside the current
|
||||
* implementation for the Sangoma cards.
|
||||
*
|
||||
* Version: @(#)if_ifrad.h 0.15 31 Mar 96
|
||||
*
|
||||
* Author: Mike McLagan <mike.mclagan@linux.org>
|
||||
*
|
||||
* Changes:
|
||||
* 0.15 Mike McLagan changed structure defs (packed)
|
||||
* re-arranged flags
|
||||
* added DLCI_RET vars
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_FRAD_H_
|
||||
#define _UAPI_FRAD_H_
|
||||
|
||||
#include <linux/if.h>
|
||||
|
||||
/* Structures and constants associated with the DLCI device driver */
|
||||
|
||||
struct dlci_add
|
||||
{
|
||||
char devname[IFNAMSIZ];
|
||||
short dlci;
|
||||
};
|
||||
|
||||
#define DLCI_GET_CONF (SIOCDEVPRIVATE + 2)
|
||||
#define DLCI_SET_CONF (SIOCDEVPRIVATE + 3)
|
||||
|
||||
/*
|
||||
* These are related to the Sangoma SDLA and should remain in order.
|
||||
* Code within the SDLA module is based on the specifics of this
|
||||
* structure. Change at your own peril.
|
||||
*/
|
||||
struct dlci_conf {
|
||||
short flags;
|
||||
short CIR_fwd;
|
||||
short Bc_fwd;
|
||||
short Be_fwd;
|
||||
short CIR_bwd;
|
||||
short Bc_bwd;
|
||||
short Be_bwd;
|
||||
|
||||
/* these are part of the status read */
|
||||
short Tc_fwd;
|
||||
short Tc_bwd;
|
||||
short Tf_max;
|
||||
short Tb_max;
|
||||
|
||||
/* add any new fields here above is a mirror of sdla_dlci_conf */
|
||||
};
|
||||
|
||||
#define DLCI_GET_SLAVE (SIOCDEVPRIVATE + 4)
|
||||
|
||||
/* configuration flags for DLCI */
|
||||
#define DLCI_IGNORE_CIR_OUT 0x0001
|
||||
#define DLCI_ACCOUNT_CIR_IN 0x0002
|
||||
#define DLCI_BUFFER_IF 0x0008
|
||||
|
||||
#define DLCI_VALID_FLAGS 0x000B
|
||||
|
||||
/* defines for the actual Frame Relay hardware */
|
||||
#define FRAD_GET_CONF (SIOCDEVPRIVATE)
|
||||
#define FRAD_SET_CONF (SIOCDEVPRIVATE + 1)
|
||||
|
||||
#define FRAD_LAST_IOCTL FRAD_SET_CONF
|
||||
|
||||
/*
|
||||
* Based on the setup for the Sangoma SDLA. If changes are
|
||||
* necessary to this structure, a routine will need to be
|
||||
* added to that module to copy fields.
|
||||
*/
|
||||
struct frad_conf
|
||||
{
|
||||
short station;
|
||||
short flags;
|
||||
short kbaud;
|
||||
short clocking;
|
||||
short mtu;
|
||||
short T391;
|
||||
short T392;
|
||||
short N391;
|
||||
short N392;
|
||||
short N393;
|
||||
short CIR_fwd;
|
||||
short Bc_fwd;
|
||||
short Be_fwd;
|
||||
short CIR_bwd;
|
||||
short Bc_bwd;
|
||||
short Be_bwd;
|
||||
|
||||
/* Add new fields here, above is a mirror of the sdla_conf */
|
||||
|
||||
};
|
||||
|
||||
#define FRAD_STATION_CPE 0x0000
|
||||
#define FRAD_STATION_NODE 0x0001
|
||||
|
||||
#define FRAD_TX_IGNORE_CIR 0x0001
|
||||
#define FRAD_RX_ACCOUNT_CIR 0x0002
|
||||
#define FRAD_DROP_ABORTED 0x0004
|
||||
#define FRAD_BUFFERIF 0x0008
|
||||
#define FRAD_STATS 0x0010
|
||||
#define FRAD_MCI 0x0100
|
||||
#define FRAD_AUTODLCI 0x8000
|
||||
#define FRAD_VALID_FLAGS 0x811F
|
||||
|
||||
#define FRAD_CLOCK_INT 0x0001
|
||||
#define FRAD_CLOCK_EXT 0x0000
|
||||
|
||||
|
||||
#endif /* _UAPI_FRAD_H_ */
|
||||
@@ -1,117 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
||||
/*
|
||||
* INET An implementation of the TCP/IP protocol suite for the LINUX
|
||||
* operating system. INET is implemented using the BSD Socket
|
||||
* interface as the means of communication with the user level.
|
||||
*
|
||||
* Global definitions for the Frame relay interface.
|
||||
*
|
||||
* Version: @(#)if_ifrad.h 0.20 13 Apr 96
|
||||
*
|
||||
* Author: Mike McLagan <mike.mclagan@linux.org>
|
||||
*
|
||||
* Changes:
|
||||
* 0.15 Mike McLagan Structure packing
|
||||
*
|
||||
* 0.20 Mike McLagan New flags for S508 buffer handling
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef _UAPISDLA_H
|
||||
#define _UAPISDLA_H
|
||||
|
||||
/* adapter type */
|
||||
#define SDLA_TYPES
|
||||
#define SDLA_S502A 5020
|
||||
#define SDLA_S502E 5021
|
||||
#define SDLA_S503 5030
|
||||
#define SDLA_S507 5070
|
||||
#define SDLA_S508 5080
|
||||
#define SDLA_S509 5090
|
||||
#define SDLA_UNKNOWN -1
|
||||
|
||||
/* port selection flags for the S508 */
|
||||
#define SDLA_S508_PORT_V35 0x00
|
||||
#define SDLA_S508_PORT_RS232 0x02
|
||||
|
||||
/* Z80 CPU speeds */
|
||||
#define SDLA_CPU_3M 0x00
|
||||
#define SDLA_CPU_5M 0x01
|
||||
#define SDLA_CPU_7M 0x02
|
||||
#define SDLA_CPU_8M 0x03
|
||||
#define SDLA_CPU_10M 0x04
|
||||
#define SDLA_CPU_16M 0x05
|
||||
#define SDLA_CPU_12M 0x06
|
||||
|
||||
/* some private IOCTLs */
|
||||
#define SDLA_IDENTIFY (FRAD_LAST_IOCTL + 1)
|
||||
#define SDLA_CPUSPEED (FRAD_LAST_IOCTL + 2)
|
||||
#define SDLA_PROTOCOL (FRAD_LAST_IOCTL + 3)
|
||||
|
||||
#define SDLA_CLEARMEM (FRAD_LAST_IOCTL + 4)
|
||||
#define SDLA_WRITEMEM (FRAD_LAST_IOCTL + 5)
|
||||
#define SDLA_READMEM (FRAD_LAST_IOCTL + 6)
|
||||
|
||||
struct sdla_mem {
|
||||
int addr;
|
||||
int len;
|
||||
void __user *data;
|
||||
};
|
||||
|
||||
#define SDLA_START (FRAD_LAST_IOCTL + 7)
|
||||
#define SDLA_STOP (FRAD_LAST_IOCTL + 8)
|
||||
|
||||
/* some offsets in the Z80's memory space */
|
||||
#define SDLA_NMIADDR 0x0000
|
||||
#define SDLA_CONF_ADDR 0x0010
|
||||
#define SDLA_S502A_NMIADDR 0x0066
|
||||
#define SDLA_CODE_BASEADDR 0x0100
|
||||
#define SDLA_WINDOW_SIZE 0x2000
|
||||
#define SDLA_ADDR_MASK 0x1FFF
|
||||
|
||||
/* largest handleable block of data */
|
||||
#define SDLA_MAX_DATA 4080
|
||||
#define SDLA_MAX_MTU 4072 /* MAX_DATA - sizeof(fradhdr) */
|
||||
#define SDLA_MAX_DLCI 24
|
||||
|
||||
/* this should be the same as frad_conf */
|
||||
struct sdla_conf {
|
||||
short station;
|
||||
short config;
|
||||
short kbaud;
|
||||
short clocking;
|
||||
short max_frm;
|
||||
short T391;
|
||||
short T392;
|
||||
short N391;
|
||||
short N392;
|
||||
short N393;
|
||||
short CIR_fwd;
|
||||
short Bc_fwd;
|
||||
short Be_fwd;
|
||||
short CIR_bwd;
|
||||
short Bc_bwd;
|
||||
short Be_bwd;
|
||||
};
|
||||
|
||||
/* this should be the same as dlci_conf */
|
||||
struct sdla_dlci_conf {
|
||||
short config;
|
||||
short CIR_fwd;
|
||||
short Bc_fwd;
|
||||
short Be_fwd;
|
||||
short CIR_bwd;
|
||||
short Bc_bwd;
|
||||
short Be_bwd;
|
||||
short Tc_fwd;
|
||||
short Tc_bwd;
|
||||
short Tf_max;
|
||||
short Tb_max;
|
||||
};
|
||||
|
||||
|
||||
#endif /* _UAPISDLA_H */
|
||||
Reference in New Issue
Block a user