All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] appletalk: remove ipddp driver
@ 2023-10-09 14:10 Arnd Bergmann
  2023-10-09 19:27 ` Greg Kroah-Hartman
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arnd Bergmann @ 2023-10-09 14:10 UTC (permalink / raw)
  To: netdev, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Greg Kroah-Hartman, Arnd Bergmann, Doug Brown, linux-doc,
	linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

After the cops driver is removed, ipddp is now the only
CONFIG_DEV_APPLETALK but as far as I can tell, this also has no users
and can be removed, making appletalk support purely based on ethertalk,
using ethernet hardware.

Link: https://lore.kernel.org/netdev/e490dd0c-a65d-4acf-89c6-c06cb48ec880@app.fastmail.com/
Link: https://lore.kernel.org/netdev/9cac4fbd-9557-b0b8-54fa-93f0290a6fb8@schmorgal.com/
Cc: Doug Brown <doug@schmorgal.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 Documentation/networking/ipddp.rst |  78 -------
 MAINTAINERS                        |   1 -
 drivers/net/Makefile               |   1 -
 drivers/net/appletalk/Kconfig      |  72 ------
 drivers/net/appletalk/Makefile     |   6 -
 drivers/net/appletalk/ipddp.c      | 345 -----------------------------
 drivers/net/appletalk/ipddp.h      |  28 ---
 net/Kconfig                        |   2 +-
 net/appletalk/Kconfig              |  30 +++
 9 files changed, 31 insertions(+), 532 deletions(-)
 delete mode 100644 Documentation/networking/ipddp.rst
 delete mode 100644 drivers/net/appletalk/Kconfig
 delete mode 100644 drivers/net/appletalk/Makefile
 delete mode 100644 drivers/net/appletalk/ipddp.c
 delete mode 100644 drivers/net/appletalk/ipddp.h
 create mode 100644 net/appletalk/Kconfig

diff --git a/Documentation/networking/ipddp.rst b/Documentation/networking/ipddp.rst
deleted file mode 100644
index be7091b779274..0000000000000
--- a/Documentation/networking/ipddp.rst
+++ /dev/null
@@ -1,78 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-=========================================================
-AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
-=========================================================
-
-Documentation ipddp.c
-
-This file is written by Jay Schulist <jschlst@samba.org>
-
-Introduction
-------------
-
-AppleTalk-IP (IPDDP) is the method computers connected to AppleTalk
-networks can use to communicate via IP. AppleTalk-IP is simply IP datagrams
-inside AppleTalk packets.
-
-Through this driver you can either allow your Linux box to communicate
-IP over an AppleTalk network or you can provide IP gatewaying functions
-for your AppleTalk users.
-
-You can currently encapsulate or decapsulate AppleTalk-IP on LocalTalk,
-EtherTalk and PPPTalk. The only limit on the protocol is that of what
-kernel AppleTalk layer and drivers are available.
-
-Each mode requires its own user space software.
-
-Compiling AppleTalk-IP Decapsulation/Encapsulation
-==================================================
-
-AppleTalk-IP decapsulation needs to be compiled into your kernel. You
-will need to turn on AppleTalk-IP driver support. Then you will need to
-select ONE of the two options; IP to AppleTalk-IP encapsulation support or
-AppleTalk-IP to IP decapsulation support. If you compile the driver
-statically you will only be able to use the driver for the function you have
-enabled in the kernel. If you compile the driver as a module you can
-select what mode you want it to run in via a module loading param.
-ipddp_mode=1 for AppleTalk-IP encapsulation and ipddp_mode=2 for
-AppleTalk-IP to IP decapsulation.
-
-Basic instructions for user space tools
-=======================================
-
-I will briefly describe the operation of the tools, but you will
-need to consult the supporting documentation for each set of tools.
-
-Decapsulation - You will need to download a software package called
-MacGate. In this distribution there will be a tool called MacRoute
-which enables you to add routes to the kernel for your Macs by hand.
-Also the tool MacRegGateWay is included to register the
-proper IP Gateway and IP addresses for your machine. Included in this
-distribution is a patch to netatalk-1.4b2+asun2.0a17.2 (available from
-ftp.u.washington.edu/pub/user-supported/asun/) this patch is optional
-but it allows automatic adding and deleting of routes for Macs. (Handy
-for locations with large Mac installations)
-
-Encapsulation - You will need to download a software daemon called ipddpd.
-This software expects there to be an AppleTalk-IP gateway on the network.
-You will also need to add the proper routes to route your Linux box's IP
-traffic out the ipddp interface.
-
-Common Uses of ipddp.c
-----------------------
-Of course AppleTalk-IP decapsulation and encapsulation, but specifically
-decapsulation is being used most for connecting LocalTalk networks to
-IP networks. Although it has been used on EtherTalk networks to allow
-Macs that are only able to tunnel IP over EtherTalk.
-
-Encapsulation has been used to allow a Linux box stuck on a LocalTalk
-network to use IP. It should work equally well if you are stuck on an
-EtherTalk only network.
-
-Further Assistance
--------------------
-You can contact me (Jay Schulist <jschlst@samba.org>) with any
-questions regarding decapsulation or encapsulation. Bradford W. Johnson
-<johns393@maroon.tc.umn.edu> originally wrote the ipddp.c driver for IP
-encapsulation in AppleTalk.
diff --git a/MAINTAINERS b/MAINTAINERS
index 92539465eef12..688183517f403 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1459,7 +1459,6 @@ F:	drivers/hwmon/applesmc.c
 APPLETALK NETWORK LAYER
 L:	netdev@vger.kernel.org
 S:	Odd fixes
-F:	drivers/net/appletalk/
 F:	include/linux/atalk.h
 F:	include/uapi/linux/atalk.h
 F:	net/appletalk/
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index e26f98f897c55..8a83db32509dc 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -45,7 +45,6 @@ obj-$(CONFIG_MHI_NET) += mhi_net.o
 # Networking Drivers
 #
 obj-$(CONFIG_ARCNET) += arcnet/
-obj-$(CONFIG_DEV_APPLETALK) += appletalk/
 obj-$(CONFIG_CAIF) += caif/
 obj-$(CONFIG_CAN) += can/
 obj-$(CONFIG_NET_DSA) += dsa/
diff --git a/drivers/net/appletalk/Kconfig b/drivers/net/appletalk/Kconfig
deleted file mode 100644
index b94f731e45767..0000000000000
--- a/drivers/net/appletalk/Kconfig
+++ /dev/null
@@ -1,72 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# Appletalk driver configuration
-#
-config ATALK
-	tristate "Appletalk protocol support"
-	select LLC
-	help
-	  AppleTalk is the protocol that Apple computers can use to communicate
-	  on a network.  If your Linux box is connected to such a network and you
-	  wish to connect to it, say Y.  You will need to use the netatalk package
-	  so that your Linux box can act as a print and file server for Macs as
-	  well as access AppleTalk printers.  Check out
-	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
-	  EtherTalk is the name used for AppleTalk over Ethernet and the
-	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
-	  network using serial links.  EtherTalk and LocalTalk are fully
-	  supported by Linux.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
-	  NET3-4-HOWTO, available from
-	  <http://www.tldp.org/docs.html#howto>, contains valuable
-	  information as well.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called appletalk. You almost certainly want to compile it as a
-	  module so you can restart your AppleTalk stack without rebooting
-	  your machine. I hear that the GNU boycott of Apple is over, so
-	  even politically correct people are allowed to say Y here.
-
-config DEV_APPLETALK
-	tristate "Appletalk interfaces support"
-	depends on ATALK
-	help
-	  AppleTalk is the protocol that Apple computers can use to communicate
-	  on a network.  If your Linux box is connected to such a network, and wish
-	  to do IP over it, or you have a LocalTalk card and wish to use it to
-	  connect to the AppleTalk network, say Y.
-
-config IPDDP
-	tristate "Appletalk-IP driver support"
-	depends on DEV_APPLETALK && ATALK
-	help
-	  This allows IP networking for users who only have AppleTalk
-	  networking available. This feature is experimental. With this
-	  driver, you can encapsulate IP inside AppleTalk (e.g. if your Linux
-	  box is stuck on an AppleTalk only network) or decapsulate (e.g. if
-	  you want your Linux box to act as an Internet gateway for a zoo of
-	  AppleTalk connected Macs). Please see the file
-	  <file:Documentation/networking/ipddp.rst> for more information.
-
-	  If you say Y here, the AppleTalk-IP support will be compiled into
-	  the kernel. In this case, you can either use encapsulation or
-	  decapsulation, but not both. With the following two questions, you
-	  decide which one you want.
-
-	  To compile the AppleTalk-IP support as a module, choose M here: the
-	  module will be called ipddp.
-	  In this case, you will be able to use both encapsulation and
-	  decapsulation simultaneously, by loading two copies of the module
-	  and specifying different values for the module option ipddp_mode.
-
-config IPDDP_ENCAP
-	bool "IP to Appletalk-IP Encapsulation support"
-	depends on IPDDP
-	help
-	  If you say Y here, the AppleTalk-IP code will be able to encapsulate
-	  IP packets inside AppleTalk frames; this is useful if your Linux box
-	  is stuck on an AppleTalk network (which hopefully contains a
-	  decapsulator somewhere). Please see
-	  <file:Documentation/networking/ipddp.rst> for more information.
diff --git a/drivers/net/appletalk/Makefile b/drivers/net/appletalk/Makefile
deleted file mode 100644
index d8c7b23ec7ffc..0000000000000
--- a/drivers/net/appletalk/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# Makefile for drivers/net/appletalk
-#
-
-obj-$(CONFIG_IPDDP) += ipddp.o
diff --git a/drivers/net/appletalk/ipddp.c b/drivers/net/appletalk/ipddp.c
deleted file mode 100644
index d558535390f98..0000000000000
--- a/drivers/net/appletalk/ipddp.c
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- *	ipddp.c: IP to Appletalk-IP Encapsulation driver for Linux
- *		 Appletalk-IP to IP Decapsulation driver for Linux
- *
- *	Authors:
- *      - DDP-IP Encap by: Bradford W. Johnson <johns393@maroon.tc.umn.edu>
- *	- DDP-IP Decap by: Jay Schulist <jschlst@samba.org>
- *
- *	Derived from:
- *	- Almost all code already existed in net/appletalk/ddp.c I just
- *	  moved/reorginized it into a driver file. Original IP-over-DDP code
- *	  was done by Bradford W. Johnson <johns393@maroon.tc.umn.edu>
- *      - skeleton.c: A network driver outline for linux.
- *        Written 1993-94 by Donald Becker.
- *	- dummy.c: A dummy net driver. By Nick Holloway.
- *	- MacGate: A user space Daemon for Appletalk-IP Decap for
- *	  Linux by Jay Schulist <jschlst@samba.org>
- *
- *      Copyright 1993 United States Government as represented by the
- *      Director, National Security Agency.
- *
- *      This software may be used and distributed according to the terms
- *      of the GNU General Public License, incorporated herein by reference.
- */
-
-#include <linux/compat.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/netdevice.h>
-#include <linux/etherdevice.h>
-#include <linux/ip.h>
-#include <linux/atalk.h>
-#include <linux/if_arp.h>
-#include <linux/slab.h>
-#include <net/route.h>
-#include <linux/uaccess.h>
-
-#include "ipddp.h"		/* Our stuff */
-
-static const char version[] = KERN_INFO "ipddp.c:v0.01 8/28/97 Bradford W. Johnson <johns393@maroon.tc.umn.edu>\n";
-
-static struct ipddp_route *ipddp_route_list;
-static DEFINE_SPINLOCK(ipddp_route_lock);
-
-#ifdef CONFIG_IPDDP_ENCAP
-static int ipddp_mode = IPDDP_ENCAP;
-#else
-static int ipddp_mode = IPDDP_DECAP;
-#endif
-
-/* Index to functions, as function prototypes. */
-static netdev_tx_t ipddp_xmit(struct sk_buff *skb,
-				    struct net_device *dev);
-static int ipddp_create(struct ipddp_route *new_rt);
-static int ipddp_delete(struct ipddp_route *rt);
-static struct ipddp_route* __ipddp_find_route(struct ipddp_route *rt);
-static int ipddp_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
-				void __user *data, int cmd);
-
-static const struct net_device_ops ipddp_netdev_ops = {
-	.ndo_start_xmit		= ipddp_xmit,
-	.ndo_siocdevprivate	= ipddp_siocdevprivate,
-	.ndo_set_mac_address 	= eth_mac_addr,
-	.ndo_validate_addr	= eth_validate_addr,
-};
-
-static struct net_device * __init ipddp_init(void)
-{
-	static unsigned version_printed;
-	struct net_device *dev;
-	int err;
-
-	dev = alloc_etherdev(0);
-	if (!dev)
-		return ERR_PTR(-ENOMEM);
-
-	netif_keep_dst(dev);
-	strcpy(dev->name, "ipddp%d");
-
-	if (version_printed++ == 0)
-                printk(version);
-
-	/* Initialize the device structure. */
-	dev->netdev_ops = &ipddp_netdev_ops;
-
-        dev->type = ARPHRD_IPDDP;       	/* IP over DDP tunnel */
-        dev->mtu = 585;
-        dev->flags |= IFF_NOARP;
-
-        /*
-         *      The worst case header we will need is currently a
-         *      ethernet header (14 bytes) and a ddp header (sizeof ddpehdr+1)
-         *      We send over SNAP so that takes another 8 bytes.
-         */
-        dev->hard_header_len = 14+8+sizeof(struct ddpehdr)+1;
-
-	err = register_netdev(dev);
-	if (err) {
-		free_netdev(dev);
-		return ERR_PTR(err);
-	}
-
-	/* Let the user now what mode we are in */
-	if(ipddp_mode == IPDDP_ENCAP)
-		printk("%s: Appletalk-IP Encap. mode by Bradford W. Johnson <johns393@maroon.tc.umn.edu>\n", 
-			dev->name);
-	if(ipddp_mode == IPDDP_DECAP)
-		printk("%s: Appletalk-IP Decap. mode by Jay Schulist <jschlst@samba.org>\n", 
-			dev->name);
-
-        return dev;
-}
-
-
-/*
- * Transmit LLAP/ELAP frame using aarp_send_ddp.
- */
-static netdev_tx_t ipddp_xmit(struct sk_buff *skb, struct net_device *dev)
-{
-        struct rtable *rtable = skb_rtable(skb);
-        __be32 paddr = 0;
-        struct ddpehdr *ddp;
-        struct ipddp_route *rt;
-        struct atalk_addr *our_addr;
-
-	if (rtable->rt_gw_family == AF_INET)
-		paddr = rtable->rt_gw4;
-
-	spin_lock(&ipddp_route_lock);
-
-	/*
-         * Find appropriate route to use, based only on IP number.
-         */
-        for(rt = ipddp_route_list; rt != NULL; rt = rt->next)
-        {
-                if(rt->ip == paddr)
-                        break;
-        }
-        if(rt == NULL) {
-		spin_unlock(&ipddp_route_lock);
-                return NETDEV_TX_OK;
-	}
-
-        our_addr = atalk_find_dev_addr(rt->dev);
-
-	if(ipddp_mode == IPDDP_DECAP)
-		/* 
-		 * Pull off the excess room that should not be there.
-		 * This is due to a hard-header problem. This is the
-		 * quick fix for now though, till it breaks.
-		 */
-		skb_pull(skb, 35-(sizeof(struct ddpehdr)+1));
-
-	/* Create the Extended DDP header */
-	ddp = (struct ddpehdr *)skb->data;
-        ddp->deh_len_hops = htons(skb->len + (1<<10));
-        ddp->deh_sum = 0;
-
-	/*
-         * For Localtalk we need aarp_send_ddp to strip the
-         * long DDP header and place a shot DDP header on it.
-         */
-        if(rt->dev->type == ARPHRD_LOCALTLK)
-        {
-                ddp->deh_dnet  = 0;   /* FIXME more hops?? */
-                ddp->deh_snet  = 0;
-        }
-        else
-        {
-                ddp->deh_dnet  = rt->at.s_net;   /* FIXME more hops?? */
-                ddp->deh_snet  = our_addr->s_net;
-        }
-        ddp->deh_dnode = rt->at.s_node;
-        ddp->deh_snode = our_addr->s_node;
-        ddp->deh_dport = 72;
-        ddp->deh_sport = 72;
-
-        *((__u8 *)(ddp+1)) = 22;        	/* ddp type = IP */
-
-        skb->protocol = htons(ETH_P_ATALK);     /* Protocol has changed */
-
-	dev->stats.tx_packets++;
-	dev->stats.tx_bytes += skb->len;
-
-	aarp_send_ddp(rt->dev, skb, &rt->at, NULL);
-
-	spin_unlock(&ipddp_route_lock);
-
-        return NETDEV_TX_OK;
-}
-
-/*
- * Create a routing entry. We first verify that the
- * record does not already exist. If it does we return -EEXIST
- */
-static int ipddp_create(struct ipddp_route *new_rt)
-{
-        struct ipddp_route *rt = kzalloc(sizeof(*rt), GFP_KERNEL);
-
-        if (rt == NULL)
-                return -ENOMEM;
-
-        rt->ip = new_rt->ip;
-        rt->at = new_rt->at;
-        rt->next = NULL;
-        if ((rt->dev = atrtr_get_dev(&rt->at)) == NULL) {
-		kfree(rt);
-                return -ENETUNREACH;
-        }
-
-	spin_lock_bh(&ipddp_route_lock);
-	if (__ipddp_find_route(rt)) {
-		spin_unlock_bh(&ipddp_route_lock);
-		kfree(rt);
-		return -EEXIST;
-	}
-
-        rt->next = ipddp_route_list;
-        ipddp_route_list = rt;
-
-	spin_unlock_bh(&ipddp_route_lock);
-
-        return 0;
-}
-
-/*
- * Delete a route, we only delete a FULL match.
- * If route does not exist we return -ENOENT.
- */
-static int ipddp_delete(struct ipddp_route *rt)
-{
-        struct ipddp_route **r = &ipddp_route_list;
-        struct ipddp_route *tmp;
-
-	spin_lock_bh(&ipddp_route_lock);
-        while((tmp = *r) != NULL)
-        {
-                if(tmp->ip == rt->ip &&
-		   tmp->at.s_net == rt->at.s_net &&
-		   tmp->at.s_node == rt->at.s_node)
-                {
-                        *r = tmp->next;
-			spin_unlock_bh(&ipddp_route_lock);
-                        kfree(tmp);
-                        return 0;
-                }
-                r = &tmp->next;
-        }
-
-	spin_unlock_bh(&ipddp_route_lock);
-        return -ENOENT;
-}
-
-/*
- * Find a routing entry, we only return a FULL match
- */
-static struct ipddp_route* __ipddp_find_route(struct ipddp_route *rt)
-{
-        struct ipddp_route *f;
-
-        for(f = ipddp_route_list; f != NULL; f = f->next)
-        {
-                if(f->ip == rt->ip &&
-		   f->at.s_net == rt->at.s_net &&
-		   f->at.s_node == rt->at.s_node)
-                        return f;
-        }
-
-        return NULL;
-}
-
-static int ipddp_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
-				void __user *data, int cmd)
-{
-        struct ipddp_route rcp, rcp2, *rp;
-
-	if (in_compat_syscall())
-		return -EOPNOTSUPP;
-
-        if(!capable(CAP_NET_ADMIN))
-                return -EPERM;
-
-	if (copy_from_user(&rcp, data, sizeof(rcp)))
-		return -EFAULT;
-
-        switch(cmd)
-        {
-		case SIOCADDIPDDPRT:
-                        return ipddp_create(&rcp);
-
-                case SIOCFINDIPDDPRT:
-			spin_lock_bh(&ipddp_route_lock);
-			rp = __ipddp_find_route(&rcp);
-			if (rp) {
-				memset(&rcp2, 0, sizeof(rcp2));
-				rcp2.ip    = rp->ip;
-				rcp2.at    = rp->at;
-				rcp2.flags = rp->flags;
-			}
-			spin_unlock_bh(&ipddp_route_lock);
-
-			if (rp) {
-				if (copy_to_user(data, &rcp2,
-						 sizeof(struct ipddp_route)))
-					return -EFAULT;
-				return 0;
-			} else
-				return -ENOENT;
-
-                case SIOCDELIPDDPRT:
-                        return ipddp_delete(&rcp);
-
-                default:
-                        return -EINVAL;
-        }
-}
-
-static struct net_device *dev_ipddp;
-
-MODULE_LICENSE("GPL");
-module_param(ipddp_mode, int, 0);
-
-static int __init ipddp_init_module(void)
-{
-	dev_ipddp = ipddp_init();
-	return PTR_ERR_OR_ZERO(dev_ipddp);
-}
-
-static void __exit ipddp_cleanup_module(void)
-{
-        struct ipddp_route *p;
-
-	unregister_netdev(dev_ipddp);
-        free_netdev(dev_ipddp);
-
-        while (ipddp_route_list) {
-                p = ipddp_route_list->next;
-                kfree(ipddp_route_list);
-                ipddp_route_list = p;
-        }
-}
-
-module_init(ipddp_init_module);
-module_exit(ipddp_cleanup_module);
diff --git a/drivers/net/appletalk/ipddp.h b/drivers/net/appletalk/ipddp.h
deleted file mode 100644
index 9a8e45a469259..0000000000000
--- a/drivers/net/appletalk/ipddp.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- *	ipddp.h: Header for IP-over-DDP driver for Linux.
- */
-
-#ifndef __LINUX_IPDDP_H
-#define __LINUX_IPDDP_H
-
-#ifdef __KERNEL__
-
-#define SIOCADDIPDDPRT   (SIOCDEVPRIVATE)
-#define SIOCDELIPDDPRT   (SIOCDEVPRIVATE+1)
-#define SIOCFINDIPDDPRT  (SIOCDEVPRIVATE+2)
-
-struct ipddp_route
-{
-        struct net_device *dev;             /* Carrier device */
-        __be32 ip;                       /* IP address */
-        struct atalk_addr at;              /* Gateway appletalk address */
-        int flags;
-        struct ipddp_route *next;
-};
-
-#define IPDDP_ENCAP	1
-#define IPDDP_DECAP	2
-
-#endif	/* __KERNEL__ */
-#endif	/* __LINUX_IPDDP_H */
diff --git a/net/Kconfig b/net/Kconfig
index d532ec33f1fed..e248236c29a73 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -246,7 +246,7 @@ source "net/bridge/Kconfig"
 source "net/dsa/Kconfig"
 source "net/8021q/Kconfig"
 source "net/llc/Kconfig"
-source "drivers/net/appletalk/Kconfig"
+source "net/appletalk/Kconfig"
 source "net/x25/Kconfig"
 source "net/lapb/Kconfig"
 source "net/phonet/Kconfig"
diff --git a/net/appletalk/Kconfig b/net/appletalk/Kconfig
new file mode 100644
index 0000000000000..041141abf925b
--- /dev/null
+++ b/net/appletalk/Kconfig
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Appletalk configuration
+#
+config ATALK
+	tristate "Appletalk protocol support"
+	select LLC
+	help
+	  AppleTalk is the protocol that Apple computers can use to communicate
+	  on a network.  If your Linux box is connected to such a network and you
+	  wish to connect to it, say Y.  You will need to use the netatalk package
+	  so that your Linux box can act as a print and file server for Macs as
+	  well as access AppleTalk printers.  Check out
+	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
+	  EtherTalk is the name used for AppleTalk over Ethernet and the
+	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
+	  network using serial links.  EtherTalk and LocalTalk are fully
+	  supported by Linux.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
+	  NET3-4-HOWTO, available from
+	  <http://www.tldp.org/docs.html#howto>, contains valuable
+	  information as well.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called appletalk. You almost certainly want to compile it as a
+	  module so you can restart your AppleTalk stack without rebooting
+	  your machine. I hear that the GNU boycott of Apple is over, so
+	  even politically correct people are allowed to say Y here.
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] appletalk: remove ipddp driver
  2023-10-09 14:10 [PATCH] appletalk: remove ipddp driver Arnd Bergmann
@ 2023-10-09 19:27 ` Greg Kroah-Hartman
  2023-10-11  0:51 ` Jakub Kicinski
  2023-10-13 16:39 ` kernel test robot
  2 siblings, 0 replies; 4+ messages in thread
From: Greg Kroah-Hartman @ 2023-10-09 19:27 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: netdev, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Arnd Bergmann, Doug Brown, linux-doc, linux-kernel

On Mon, Oct 09, 2023 at 04:10:28PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> After the cops driver is removed, ipddp is now the only
> CONFIG_DEV_APPLETALK but as far as I can tell, this also has no users
> and can be removed, making appletalk support purely based on ethertalk,
> using ethernet hardware.
> 
> Link: https://lore.kernel.org/netdev/e490dd0c-a65d-4acf-89c6-c06cb48ec880@app.fastmail.com/
> Link: https://lore.kernel.org/netdev/9cac4fbd-9557-b0b8-54fa-93f0290a6fb8@schmorgal.com/
> Cc: Doug Brown <doug@schmorgal.com>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] appletalk: remove ipddp driver
  2023-10-09 14:10 [PATCH] appletalk: remove ipddp driver Arnd Bergmann
  2023-10-09 19:27 ` Greg Kroah-Hartman
@ 2023-10-11  0:51 ` Jakub Kicinski
  2023-10-13 16:39 ` kernel test robot
  2 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2023-10-11  0:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: netdev, David S. Miller, Eric Dumazet, Paolo Abeni,
	Greg Kroah-Hartman, Arnd Bergmann, Doug Brown, linux-doc,
	linux-kernel

On Mon,  9 Oct 2023 16:10:28 +0200 Arnd Bergmann wrote:
>  Documentation/networking/ipddp.rst |  78 -------

I dropped this file from the index when applying.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] appletalk: remove ipddp driver
  2023-10-09 14:10 [PATCH] appletalk: remove ipddp driver Arnd Bergmann
  2023-10-09 19:27 ` Greg Kroah-Hartman
  2023-10-11  0:51 ` Jakub Kicinski
@ 2023-10-13 16:39 ` kernel test robot
  2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-10-13 16:39 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: oe-kbuild-all

Hi Arnd,

kernel test robot noticed the following build warnings:

[auto build test WARNING on net-next/main]
[cannot apply to net/main linus/master horms-ipvs/master v6.6-rc5 next-20231013]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Arnd-Bergmann/appletalk-remove-ipddp-driver/20231009-221422
base:   net-next/main
patch link:    https://lore.kernel.org/r/20231009141139.1766345-1-arnd%40kernel.org
patch subject: [PATCH] appletalk: remove ipddp driver
reproduce: (https://download.01.org/0day-ci/archive/20231014/202310140008.9Hkkc6fo-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310140008.9Hkkc6fo-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> Documentation/networking/index.rst:8: WARNING: toctree contains reference to nonexisting document 'networking/ipddp'

vim +8 Documentation/networking/index.rst

8df0136376dc92 Jakub Kicinski        2022-03-29    5  
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12    6  Contents:
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12    7  
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12   @8  .. toctree::
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12    9     :maxdepth: 2
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12   10  
b4b8faa1ded7a3 Magnus Karlsson       2018-05-02   11     af_xdp
571912c69f0ed7 Martin Varghese       2020-02-24   12     bareudp
e45eba2467bd64 Sven Eckelmann        2017-07-12   13     batman-adv
7d5977394515ad Robert Schwebel       2018-01-24   14     can
9f2d3eae88d26c Jakob Unterwurzacher  2018-04-11   15     can_ucan_protocol
b0d8d4363e523e Jakub Kicinski        2019-05-21   16     device_drivers/index
3c91d114832027 Ioana Ciornei         2019-04-12   17     dsa/index
f4bdd7103652fa Jacob Keller          2020-01-09   18     devlink/index
da50d57abd7eca Mauro Carvalho Chehab 2020-04-28   19     caif/index
2b4a8990b7df55 Michal Kubecek        2019-12-27   20     ethtool-netlink
8e4a07405d9dae Stefan Schmidt        2019-02-27   21     ieee802154
9d71dd0c700999 The j1939 authors     2018-10-08   22     j1939
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12   23     kapi
2fdd18118dad86 Mike Rapoport         2018-01-08   24     msg_zerocopy
d95768d3cccd0b Tobin C. Harding      2018-07-12   25     failover
9b038086f06be1 Jakub Kicinski        2020-04-09   26     net_dim
d95768d3cccd0b Tobin C. Harding      2018-07-12   27     net_failover
2c8e961d20e38c Mauro Carvalho Chehab 2020-05-01   28     page_pool
25fe02d00a1e94 Heiner Kallweit       2019-01-26   29     phy
0a6c33e894a50e Russell King          2019-02-22   30     sfp-phylink
735dadf894f091 Tobin C. Harding      2018-07-18   31     alias
6b335f8205e9d4 Tobin C. Harding      2018-07-18   32     bridge
b08794a922c420 yupeng                2018-11-10   33     snmp_counter
d96bedb2b24885 Otto Sabart           2019-01-06   34     checksum-offloads
d96bedb2b24885 Otto Sabart           2019-01-06   35     segmentation-offloads
e6e37f63681507 Otto Sabart           2019-01-18   36     scaling
f3c0f3c6c2013e Jakub Kicinski        2019-05-21   37     tls
f42c104f2ec94a Jakub Kicinski        2019-05-21   38     tls-offload
2fd5532044a89d Chuck Lever           2023-04-17   39     tls-handshake
4791d77a08ccd3 Robert Schwebel       2019-11-22   40     nfc
107db7ec783820 Mauro Carvalho Chehab 2020-02-06   41     6lowpan
a434aaba17f56c Mauro Carvalho Chehab 2020-04-28   42     6pack
aa92320b3e38f2 Mauro Carvalho Chehab 2020-04-28   43     arcnet-hardware
08bab46f00d0f0 Mauro Carvalho Chehab 2020-04-28   44     arcnet
ff2269f16a1e1a Mauro Carvalho Chehab 2020-04-28   45     atm
20b943f075574c Mauro Carvalho Chehab 2020-04-28   46     ax25
a362032eca22d0 Mauro Carvalho Chehab 2020-04-28   47     bonding
92f06f4226fd9b Mauro Carvalho Chehab 2020-04-28   48     cdc_mbim
33155bac6519f5 Mauro Carvalho Chehab 2020-04-28   49     dccp
8447bb44ef7c45 Mauro Carvalho Chehab 2020-04-28   50     dctcp
9dfe1361261be4 Mauro Carvalho Chehab 2020-04-28   51     dns_resolver
28d23311ff35ac Mauro Carvalho Chehab 2020-04-28   52     driver
06df65723b69a3 Mauro Carvalho Chehab 2020-04-28   53     eql
aee113427c5d20 Mauro Carvalho Chehab 2020-04-28   54     fib_trie
cb3f0d56e15339 Mauro Carvalho Chehab 2020-04-28   55     filter
16128ad8f92785 Mauro Carvalho Chehab 2020-04-28   56     generic-hdlc
110662503de20f Mauro Carvalho Chehab 2020-04-28   57     generic_netlink
8c498935585680 Mauro Carvalho Chehab 2020-04-28   58     gen_stats
81baecb6f6dc50 Mauro Carvalho Chehab 2020-04-28   59     gtp
1d2698fa05f57b Mauro Carvalho Chehab 2020-04-28   60     ila
883d71a55e9683 Hu Haowen             2021-07-28   61     ioam6-sysctl
7cdb25400f7e86 Mauro Carvalho Chehab 2020-04-28   62     ipddp
9de1fcdf36e7e0 Mauro Carvalho Chehab 2020-04-28   63     ip_dynaddr
355e656e017c3b Mauro Carvalho Chehab 2020-04-28   64     ipsec
1cec2cacaaec5d Mauro Carvalho Chehab 2020-04-28   65     ip-sysctl
19093313cb0486 Mauro Carvalho Chehab 2020-04-28   66     ipv6
1dc2a785954bf4 Mauro Carvalho Chehab 2020-04-28   67     ipvlan
82a07bf33d7d0c Mauro Carvalho Chehab 2020-04-28   68     ipvs-sysctl
b9dd2bea2245dd Mauro Carvalho Chehab 2020-04-28   69     kcm
10ebb22137acd9 Mauro Carvalho Chehab 2020-04-30   70     l2tp
40e79150c16862 Mauro Carvalho Chehab 2020-04-30   71     lapb-module
429ff87bcac75b Mauro Carvalho Chehab 2020-04-30   72     mac80211-injection
6a2d98b1890000 Jeremy Kerr           2021-07-29   73     mctp
e14fd64dcda566 Mauro Carvalho Chehab 2020-04-30   74     mpls-sysctl
9ce7deff92e89b Mat Martineau         2020-11-03   75     mptcp-sysctl
e98aa68223e481 Mauro Carvalho Chehab 2020-04-30   76     multiqueue
3eb8eea2a45346 Jakub Kicinski        2023-03-21   77     napi
d9d6ef25ecab3e Mauro Carvalho Chehab 2020-04-30   78     netconsole
ea5bacaa2cec69 Mauro Carvalho Chehab 2020-04-30   79     netdev-features
482a4360c56a1e Mauro Carvalho Chehab 2020-04-30   80     netdevices
0191533087a3cf Mauro Carvalho Chehab 2020-04-30   81     netfilter-sysctl
c4d5dff60f0a14 Mauro Carvalho Chehab 2020-04-30   82     netif-msg
87f2c6716f6408 Petr Machata          2021-03-29   83     nexthop-group-resilient
13df433f8c1333 Mauro Carvalho Chehab 2020-04-30   84     nf_conntrack-sysctl
aa3764276a4bc1 Mauro Carvalho Chehab 2020-04-30   85     nf_flowtable
63893472d753e9 Mauro Carvalho Chehab 2020-04-30   86     openvswitch
f5c39ef3299f4e Mauro Carvalho Chehab 2020-04-30   87     operstates
4ba7bc9f2de6b2 Mauro Carvalho Chehab 2020-04-30   88     packet_mmap
6e94eaaa400d66 Mauro Carvalho Chehab 2020-04-30   89     phonet
c1e4535f24bcfe Mauro Carvalho Chehab 2020-04-30   90     pktgen
32c01266c0aab0 Mauro Carvalho Chehab 2020-04-30   91     plip
71120802ebeda1 Mauro Carvalho Chehab 2020-04-30   92     ppp_generic
832619012c972d Mauro Carvalho Chehab 2020-04-30   93     proc_net_tcp
66d495d0a5aecd Mauro Carvalho Chehab 2020-04-30   94     radiotap-headers
bad5b6e223e840 Mauro Carvalho Chehab 2020-04-30   95     rds
98661e0c579dbd Mauro Carvalho Chehab 2020-04-30   96     regulatory
6fb4825e492b07 Edward Cree           2022-09-05   97     representors
9f72374cb59595 Mauro Carvalho Chehab 2020-04-30   98     rxrpc
671d114d8cde3b Mauro Carvalho Chehab 2020-04-30   99     sctp
de1fd4a7b0f235 Mauro Carvalho Chehab 2020-04-30  100     secid
d6c48bc6f8da38 Mauro Carvalho Chehab 2020-04-30  101     seg6-sysctl
9ec7ea1462084d Jakub Kicinski        2022-05-09  102     skbuff
f9f52c3474282a Dust Li               2022-03-03  103     smc-sysctl
0db0c34cfbc983 Jakub Kicinski        2020-09-03  104     statistics
060d9d3e1282e3 Mauro Carvalho Chehab 2020-04-30  105     strparser
32c0f0bed5bb08 Mauro Carvalho Chehab 2020-04-30  106     switchdev
6575aeab72e043 John Hubbard          2020-10-09  107     sysfs-tagging
d2461edde7d151 Mauro Carvalho Chehab 2020-04-30  108     tc-actions-env-rules
d5ae8ecf38322f Amritha Nambiar       2022-10-21  109     tc-queue-filters
ff159f4f1152b7 Mauro Carvalho Chehab 2020-04-30  110     tcp-thin
aa8a6ee3e3fc40 Mauro Carvalho Chehab 2020-04-30  111     team
06bfa47e72c835 Mauro Carvalho Chehab 2020-04-30  112     timestamping
2fc30decf73083 Randy Dunlap          2020-11-29  113     tipc
4ac0b122ee63d8 Mauro Carvalho Chehab 2020-04-30  114     tproxy
973d55e590beec Mauro Carvalho Chehab 2020-05-01  115     tuntap
961fb1ff412a2c Mauro Carvalho Chehab 2020-05-01  116     udplite
58ccb2b2e87d52 Mauro Carvalho Chehab 2020-05-01  117     vrf
d2a85c184ac6e7 Mauro Carvalho Chehab 2020-05-01  118     vxlan
c4ea03fdfd122b Mauro Carvalho Chehab 2020-05-01  119     x25
77c964dad99a18 Randy Dunlap          2023-05-09  120     x25-iface
c4a0eb9350183d Mauro Carvalho Chehab 2020-05-01  121     xfrm_device
da62baada5cc94 Mauro Carvalho Chehab 2020-05-01  122     xfrm_proc
a5cfea33e5e548 Mauro Carvalho Chehab 2020-05-01  123     xfrm_sync
a6c34b476ca27d Mauro Carvalho Chehab 2020-05-01  124     xfrm_sysctl
a4aeb9d6565e42 Stanislav Fomichev    2023-01-19  125     xdp-rx-metadata
05e0f3b9966c4d Mauro Carvalho Chehab 2017-05-12  126  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-13 16:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-09 14:10 [PATCH] appletalk: remove ipddp driver Arnd Bergmann
2023-10-09 19:27 ` Greg Kroah-Hartman
2023-10-11  0:51 ` Jakub Kicinski
2023-10-13 16:39 ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.