drop support for DECnet
Subsystems (4)
PATCH 1/1 drop support for DECnet
Nothing has been done in Linux to maintain DECnet
for years. The code is buggy and does not support net namespace. This patch removes all support of it from iproute2
--- Makefile | 3 -- README.decnet | 33 ------------------ README.lnstat | 2 +- include/utils.h | 3 -- ip/ip.c | 2 +- ip/ipaddress.c | 2 -- ip/ipntable.c | 2 -- lib/dnet_ntop.c | 101 -------------------------------------------------------- lib/dnet_pton.c | 75 ----------------------------------------- lib/utils.c | 27 ++------------- man/man8/ip.8 | 5 --- 11 files changed, 4 insertions(+), 251 deletions(-) delete mode 100644 README.decnet delete mode 100644 lib/dnet_ntop.c delete mode 100644 lib/dnet_pton.c
Makefile +0 -3
@@ -29,9 +29,6 @@ endif DEFINES+=-DCONFDIR=\"$(CONFDIR)\" -#options for decnet -ADDLIB+=dnet_ntop.o dnet_pton.o - #options for ipx ADDLIB+=ipx_ntop.o ipx_pton.o
README.decnet deleted +0 -33
@@ -1,33 +0,0 @@ - -Here are a few quick points about DECnet support... - - o iproute2 is the tool of choice for configuring the DECnet support for - Linux. For many features, it is the only tool which can be used to - configure them. - - o No name resolution is available as yet, all addresses must be - entered numerically. - - o Remember to set the hardware address of the interface using: - - ip link set ethX address xx:xx:xx:xx:xx:xx - (where xx:xx:xx:xx:xx:xx is the MAC address for your DECnet node - address) - - if your Ethernet card won't listen to more than one unicast - mac address at once. If the Linux DECnet stack doesn't talk to - any other DECnet nodes, then check this with tcpdump and if its - a problem, change the mac address (but do this _before_ starting - any other network protocol on the interface) - - o Whilst you can use ip addr add to add more than one DECnet address to an - interface, don't expect addresses which are not the same as the - kernels node address to work properly with 2.4 kernels. This should - be fine with 2.6 kernels as the routing code has been extensively - modified and improved. - - o The DECnet support is currently self contained. It does not depend on - the libdnet library. - -Steve Whitehouse <[email protected]> -
README.lnstat +1 -1
@@ -9,7 +9,7 @@ In addition to routing cache statistics, it supports any kind of statistics the linux kernel exports via a file in /proc/net/stat. In a stock 2.6.9 kernel, this is per-protocol neighbour cache statistics - (ipv4, ipv6, atm, decnet) + (ipv4, ipv6, atm) routing cache statistics (ipv4) connection tracking statistics
include/utils.h +0 -3
@@ -142,9 +142,6 @@ int get_ifname(char *, const char *);int matches (const char *arg,const char *pattern);int inet_addr_match (const inet_prefix *a,const inet_prefix *b,int bits); -const char *dnet_ntop (int af,const void *addr,char *str,size_t len); -int dnet_pton (int af,const char *src,void *addr); -const char *ipx_ntop (int af,const void *addr,char *str,size_t len);int ipx_pton (int af,const char *src,void *addr);
ip/ip.c +1 -1
@@ -216,7 +216,7 @@ int main(int argc, char **argv) }else if (strcmp (opt,"-I" ) ==0 ) { preferred_family =AF_IPX ; }else if (strcmp (opt,"-D" ) ==0 ) { - preferred_family = AF_DECnet; +invarg ("DECnet is not supported" , opt); }else if (strcmp (opt,"-M" ) ==0 ) { preferred_family =AF_MPLS ; }else if (strcmp (opt,"-B" ) ==0 ) {
ip/ipaddress.c +0 -2
@@ -1576,8 +1576,6 @@ int print_addrinfo(const struct sockaddr_nl *who, struct nlmsghdr *n,print_string (PRINT_ANY ,"family" ," %s " ,"inet" ); else if (ifa->ifa_family == AF_INET6) print_string(PRINT_ANY, "family", " %s ", "inet6"); - else if (ifa->ifa_family == AF_DECnet) -print_string (PRINT_ANY ,"family" ," %s " ,"dnet" ); else if (ifa->ifa_family == AF_IPX)print_string (PRINT_ANY ,"family" ," %s " ,"ipx" ); else
ip/ipntable.c +0 -2
@@ -389,8 +389,6 @@ static int print_ntable(const struct sockaddr_nl *who, struct nlmsghdr *n, voidfprintf (fp,"inet " ); else if (ndtm->ndtm_family == AF_INET6) fprintf(fp, "inet6 "); - else if (ndtm->ndtm_family == AF_DECnet) - fprintf(fp, "dnet "); else fprintf(fp, "(%d) ", ndtm->ndtm_family);
lib/dnet_ntop.c deleted +0 -101
101 lines not on this page · raw message
lib/dnet_pton.c deleted +0 -75
75 lines not on this page · raw message
lib/utils.c +2 -25
@@ -541,7 +541,7 @@ int get_addr_1(inet_prefix *addr, const char *name, int family)if (strcmp (name,"default" ) ==0 ||strcmp (name,"all" ) ==0 ||strcmp (name,"any" ) ==0 ) { -if ((family == AF_DECnet) || (family ==AF_MPLS )) +if (family ==AF_MPLS )return -1 ; addr->family = family; addr->bytelen = (family ==AF_INET6 ?16 :4 );
@@ -574,18 +574,6 @@ int get_addr_1(inet_prefix *addr, const char *name, int family)return 0 ; } -if (family == AF_DECnet) { -struct dn_naddr dna; - - addr->family = AF_DECnet; -if (dnet_pton (AF_DECnet, name, &dna) <=0 ) -return -1 ; -memcpy (addr->data, dna.a_addr,2 ); - addr->bytelen =2 ; - addr->bitlen =-1 ; -return 0 ; - } -if (family ==AF_MPLS ) {unsigned int maxlabels;int i;
@@ -653,7 +641,7 @@ int get_prefix_1(inet_prefix *dst, char *arg, int family)if (strcmp (arg,"default" ) ==0 ||strcmp (arg,"any" ) ==0 ||strcmp (arg,"all" ) ==0 ) { -if ((family == AF_DECnet) || (family ==AF_MPLS )) +if (family ==AF_MPLS )return -1 ; dst->family = family; dst->bytelen =0 ;
@@ -886,13 +874,6 @@ const char *rt_addr_n2a_r(int af, int len,return mpls_ntop (af, addr, buf, buflen);case AF_IPX :return ipx_ntop (af, addr, buf, buflen); -case AF_DECnet: - { -struct dn_naddr dna = {2 , {0 ,0 , } }; - -memcpy (dna.a_addr, addr,2 ); -return dnet_ntop (af, &dna, buf, buflen); - }case AF_PACKET :return ll_addr_n2a (addr, len,ARPHRD_VOID , buf, buflen);default :
@@ -915,8 +896,6 @@ int read_family(const char *name) family =AF_INET ; else if (strcmp(name, "inet6") == 0) family =AF_INET6 ; - else if (strcmp(name, "dnet") == 0) - family = AF_DECnet; else if (strcmp(name, "link") == 0) family =AF_PACKET ; else if (strcmp(name, "ipx") == 0)
@@ -934,8 +913,6 @@ const char *family_name(int family)return "inet" ;if (family ==AF_INET6 )return "inet6" ; -if (family == AF_DECnet) -return "dnet" ;if (family ==AF_PACKET )return "link" ;if (family ==AF_IPX )
man/man8/ip.8 +0 -5
@@ -125,11 +125,6 @@ shortcut for .BR "\-family bridge" . .TP -.B \-D -shortcut for -.BR "\-family decnet" . - -.TP .B \-I shortcut for .BR "\-family ipx" .
Signature · 1 line
2.11.0
David Miller
maintainerFrom: Stephen Hemminger <[email protected]>
Date: Sun, 26 Nov 2017 12:11:18 -0800
Quoted 5 lines
Nothing has been done in Linux to maintain DECnet
for years. The code is buggy and does not support net namespace. This patch removes all support of it from iproute2Signed-off-by Stephen Hemminger <[email protected]>
Even if decnet had been moved to staging/ (which it hasn't) I'd say this is entirely premature Stephen.
As long as the decnet code is upstream, you can't just yank away support from the tooling.
Thank you.
Quoted 7 lines · On Sun, 26 Nov 2017 17:19:21 -0500 (EST) David Miller <[email protected]>…
From: Stephen Hemminger <[email protected]>
Date: Sun, 26 Nov 2017 12:11:18 -0800Quoted 4 lines
Nothing has been done in Linux to maintain DECnet
for years. The code is buggy and does not support net namespace. This patch removes all support of it from iproute2
Quoted 7 lines
Quoted 1 line
Signed-off-by Stephen Hemminger <[email protected]>Even if decnet had been moved to staging/ (which it hasn't) I'd say this is entirely premature Stephen.
As long as the decnet code is upstream, you can't just yank away support from the tooling.
I agree that it is probably too early to remove support completely. Instead, why not just mark IPX and DecNET as deprecated and warn users for a couple of releases.
David Miller
maintainerFrom: Stephen Hemminger <[email protected]>
Date: Sun, 26 Nov 2017 23:01:51 -0800
Quoted 15 lines
Quoted 12 lines · On Sun, 26 Nov 2017 17:19:21 -0500 (EST) David Miller <[email protected]>…
From: Stephen Hemminger <[email protected]>
Date: Sun, 26 Nov 2017 12:11:18 -0800Quoted 5 lines
Nothing has been done in Linux to maintain DECnet
for years. The code is buggy and does not support net namespace. This patch removes all support of it from iproute2Signed-off-by Stephen Hemminger <[email protected]>Even if decnet had been moved to staging/ (which it hasn't) I'd say this is entirely premature Stephen.
Quoted 6 lines
Quoted 2 lines
As long as the decnet code is upstream, you can't just yank away support from the tooling.
I agree that it is probably too early to remove support completely. Instead, why not just mark IPX and DecNET as deprecated and warn users for a couple of releases.
People are using decnet.
Last time I broke it there were users who complained.
Quoted 21 lines · On Mon, 27 Nov 2017 23:04:45 +0900 (KST) David Miller <[email protected]>…
From: Stephen Hemminger <[email protected]>
Date: Sun, 26 Nov 2017 23:01:51 -0800Quoted 18 lines
Quoted 14 lines · On Sun, 26 Nov 2017 17:19:21 -0500 (EST) David Miller <[email protected]>…
From: Stephen Hemminger <[email protected]>
Date: Sun, 26 Nov 2017 12:11:18 -0800Quoted 5 lines
Nothing has been done in Linux to maintain DECnet
for years. The code is buggy and does not support net namespace. This patch removes all support of it from iproute2Signed-off-by Stephen Hemminger <[email protected]>Even if decnet had been moved to staging/ (which it hasn't) I'd say this is entirely premature Stephen.
As long as the decnet code is upstream, you can't just yank away support from the tooling.
Quoted 7 lines
Quoted 3 lines
I agree that it is probably too early to remove support completely. Instead, why not just mark IPX and DecNET as deprecated and warn users for a couple of releases.
People are using decnet.
Last time I broke it there were users who complained.
What about IPX?
David Miller
maintainerFrom: Stephen Hemminger <[email protected]>
Date: Mon, 27 Nov 2017 08:28:23 -0800
Quoted 8 lines
Quoted 3 lines · On Mon, 27 Nov 2017 23:04:45 +0900 (KST) David Miller <[email protected]>…
People are using decnet.
Last time I broke it there were users who complained.
What about IPX?
That's a good question. I don't have any good feel about IPX.