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:
25
net/socket.c
25
net/socket.c
@@ -64,7 +64,6 @@
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/if_bridge.h>
|
||||
#include <linux/if_frad.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/ptp_classify.h>
|
||||
#include <linux/init.h>
|
||||
@@ -1027,17 +1026,6 @@ void vlan_ioctl_set(int (*hook) (struct net *, void __user *))
|
||||
}
|
||||
EXPORT_SYMBOL(vlan_ioctl_set);
|
||||
|
||||
static DEFINE_MUTEX(dlci_ioctl_mutex);
|
||||
static int (*dlci_ioctl_hook) (unsigned int, void __user *);
|
||||
|
||||
void dlci_ioctl_set(int (*hook) (unsigned int, void __user *))
|
||||
{
|
||||
mutex_lock(&dlci_ioctl_mutex);
|
||||
dlci_ioctl_hook = hook;
|
||||
mutex_unlock(&dlci_ioctl_mutex);
|
||||
}
|
||||
EXPORT_SYMBOL(dlci_ioctl_set);
|
||||
|
||||
static long sock_do_ioctl(struct net *net, struct socket *sock,
|
||||
unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
@@ -1156,17 +1144,6 @@ static long sock_ioctl(struct file *file, unsigned cmd, unsigned long arg)
|
||||
err = vlan_ioctl_hook(net, argp);
|
||||
mutex_unlock(&vlan_ioctl_mutex);
|
||||
break;
|
||||
case SIOCADDDLCI:
|
||||
case SIOCDELDLCI:
|
||||
err = -ENOPKG;
|
||||
if (!dlci_ioctl_hook)
|
||||
request_module("dlci");
|
||||
|
||||
mutex_lock(&dlci_ioctl_mutex);
|
||||
if (dlci_ioctl_hook)
|
||||
err = dlci_ioctl_hook(cmd, argp);
|
||||
mutex_unlock(&dlci_ioctl_mutex);
|
||||
break;
|
||||
case SIOCGSKNS:
|
||||
err = -EPERM;
|
||||
if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
||||
@@ -3427,8 +3404,6 @@ static int compat_sock_ioctl_trans(struct file *file, struct socket *sock,
|
||||
case SIOCBRDELBR:
|
||||
case SIOCGIFVLAN:
|
||||
case SIOCSIFVLAN:
|
||||
case SIOCADDDLCI:
|
||||
case SIOCDELDLCI:
|
||||
case SIOCGSKNS:
|
||||
case SIOCGSTAMP_NEW:
|
||||
case SIOCGSTAMPNS_NEW:
|
||||
|
||||
Reference in New Issue
Block a user