net: x25: Remove unimplemented X.25-over-LLC code stubs

According to the X.25 documentation, there was a plan to implement
X.25-over-802.2-LLC. It never finished but left various code stubs in the
X.25 code. At this time it is unlikely that it would ever finish so it
may be better to remove those code stubs.

Also change the documentation to make it clear that this is not a ongoing
plan anymore. Change words like "will" to "could", "would", etc.

Cc: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Link: https://lore.kernel.org/r/20201209033346.83742-1-xie.he.0141@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Xie He 2020-12-08 19:33:46 -08:00 committed by Jakub Kicinski
parent 0b9b241406
commit 13458ffe0a
4 changed files with 7 additions and 31 deletions

View File

@ -19,13 +19,11 @@ implementation of LAPB. Therefore the LAPB modules would be called by
unintelligent X.25 card drivers and not by intelligent ones, this would unintelligent X.25 card drivers and not by intelligent ones, this would
provide a uniform device driver interface, and simplify configuration. provide a uniform device driver interface, and simplify configuration.
To confuse matters a little, an 802.2 LLC implementation for Linux is being To confuse matters a little, an 802.2 LLC implementation is also possible
written which will allow X.25 to be run over an Ethernet (or Token Ring) and which could allow X.25 to be run over an Ethernet (or Token Ring) and
conform with the JNT "Pink Book", this will have a different interface to conform with the JNT "Pink Book", this would have a different interface to
the Packet Layer but there will be no confusion since the class of device the Packet Layer but there would be no confusion since the class of device
being served by the LLC will be completely separate from LAPB. The LLC being served by the LLC would be completely separate from LAPB.
implementation is being done as part of another protocol project (SNA) and
by a different author.
Just when you thought that it could not become more confusing, another Just when you thought that it could not become more confusing, another
option appeared, XOT. This allows X.25 Packet Layer frames to operate over option appeared, XOT. This allows X.25 Packet Layer frames to operate over

View File

@ -211,11 +211,7 @@ static int x25_device_event(struct notifier_block *this, unsigned long event,
if (!net_eq(dev_net(dev), &init_net)) if (!net_eq(dev_net(dev), &init_net))
return NOTIFY_DONE; return NOTIFY_DONE;
if (dev->type == ARPHRD_X25 if (dev->type == ARPHRD_X25) {
#if IS_ENABLED(CONFIG_LLC)
|| dev->type == ARPHRD_ETHER
#endif
) {
switch (event) { switch (event) {
case NETDEV_REGISTER: case NETDEV_REGISTER:
case NETDEV_POST_TYPE_CHANGE: case NETDEV_POST_TYPE_CHANGE:

View File

@ -160,10 +160,6 @@ void x25_establish_link(struct x25_neigh *nb)
*ptr = X25_IFACE_CONNECT; *ptr = X25_IFACE_CONNECT;
break; break;
#if IS_ENABLED(CONFIG_LLC)
case ARPHRD_ETHER:
return;
#endif
default: default:
return; return;
} }
@ -179,10 +175,6 @@ void x25_terminate_link(struct x25_neigh *nb)
struct sk_buff *skb; struct sk_buff *skb;
unsigned char *ptr; unsigned char *ptr;
#if IS_ENABLED(CONFIG_LLC)
if (nb->dev->type == ARPHRD_ETHER)
return;
#endif
if (nb->dev->type != ARPHRD_X25) if (nb->dev->type != ARPHRD_X25)
return; return;
@ -212,11 +204,6 @@ void x25_send_frame(struct sk_buff *skb, struct x25_neigh *nb)
*dptr = X25_IFACE_DATA; *dptr = X25_IFACE_DATA;
break; break;
#if IS_ENABLED(CONFIG_LLC)
case ARPHRD_ETHER:
kfree_skb(skb);
return;
#endif
default: default:
kfree_skb(skb); kfree_skb(skb);
return; return;

View File

@ -124,12 +124,7 @@ struct net_device *x25_dev_get(char *devname)
{ {
struct net_device *dev = dev_get_by_name(&init_net, devname); struct net_device *dev = dev_get_by_name(&init_net, devname);
if (dev && if (dev && (!(dev->flags & IFF_UP) || dev->type != ARPHRD_X25)) {
(!(dev->flags & IFF_UP) || (dev->type != ARPHRD_X25
#if IS_ENABLED(CONFIG_LLC)
&& dev->type != ARPHRD_ETHER
#endif
))){
dev_put(dev); dev_put(dev);
dev = NULL; dev = NULL;
} }