Re: routed && route6d removal proposal

From: Rodney W. Grimes <freebsd-rwg_at_gndrsh.dnsmgr.net>
Date: Mon, 22 Jun 2020 05:49:53 -0700 (PDT)
> Hey,
> 
> I would like to propose removal of  sbin/routed and usr.sbin/route6d.

I disagree with removal, as your analysis is flawed.

> routed(8) is the daemon implementing RIPv2 routing protocol.
> route6d(8) is the daemon implementing RIPng routing protocol for IPv6.
> 
> RIP [1] was one of the first  protocols used in the networking. The first version was implemented back in 1982.

RIPv1 was implemented in 1982, RIPv2 became RFC2453 in November 1998, and is a current and valid IETF standard, STD56.
It was updated by RFC4822 in February 2007.

> 
> 1. Network landscape has changed since then. BGP, OSPF, IS-ISIS and other routing protocols have been created and greatly improved over years. People have created and adopted numerous designs leveraging OSPF/ISIS or BGP.
> RIP became obsolete a while ago as there were no competitive advantage it can offer.

> "It is the oldest routing protocol used by the network industry and is considered by many to be inefficient or border-line obsolete." ? [2], 2009
RIPv2 is not obosolete, and your reference is not authoritave on what is or is not an obsolete network protocol.
I know of people using RIPv2 in networks.

> "Today, the only reason you might run across a network running RIPv2 is either that the network is very old and in serious need of an upgrade or the network is running cheaper, consumer-grade routing hardware that can only support RIP" ? [3], 2016.

Or there simply is no need for anything more complicated.  RipV2 is a very simple protocol and works fine for small networks in many settings.

> 
> 1.1. Nowadays the daemon name is simply misleading. Given situation described above, one does expect far wider functionality from the program named "route[6]d" than just  RIP implementation.

I'll agree the name is missleading, so change it, but removal on your false basis is not.

> 
> 2. Multiple routing stacks supporting all major routing protocol including RIP exists these days: bird, frr, quagga. Many BGP-only designs in are gaining popularity, so do bgp speakers such as exabgp or gobgp.  Nowadays, if one needs dynamic routing on the host, OSPF or BGP speaker is the choice. FreeBSD packages contains well-maintained ports for these. Having RIP[ng] speakers in base offers no advantage. 

Routing stacks?  You mean routing daemons?  Forcing users to install bir, frr or quagga when all they need, or have been using for a long time is in base ripv2 is not good for users.

> 3. Both routed/route6d are largely unmaintained [4] and presents an additional attack vector. Here is the list of last non-trivial commits to routed/route6d:

Whats unmaintained about code that has no need to change cause it just pretty much works?

> 
> sbin/routed:
> r327276 - coverity
> r317035 - rtsock fix
> r299825 - coverity
> r299822 - coverity, from netbsd
> r299821 - coverity, from netbsd
> r299784 - coverity, from netbsd
> r299771 - coverify, from netbsd
> r286347 - bugfix
> r276602 - SA14:21 patch
> r271919 - SA14:21 fix
> r215702 - logic fix, 2010
> 
> usr.sbin/route6d:
> r337500 - functional fix, 2018
> r317035 - rtsock fix
> r311994 - coverity
> r311985 - coverity
> r299869 - coverity
> r299491 - coverity
> r270234 - link-local fix
> r243233 - functionality improvement, 2012
> 
> To summarise: RIP protocol is obsolete, implementations for newer protocols exists in ports,  implementation in base  is unmaintained.
> 
> With all that in mind I propose to remove routed and route6d from base in FreeBSD 13.
> Timeline:
> June 5 - feedback aggregation and decision point
> July 19 - removal (proposed)
> 
> 
> [1] https://en.wikipedia.org/wiki/Routing_Information_Protocol
> [2] https://www.globalknowledge.com/ca-en/resources/resource-library/articles/basics-of-understanding-rip/
> [3] https://www.networkcomputing.com/data-centers/comparing-dynamic-routing-protocols
> [4] https://bugs.freebsd.org/bugzilla/buglist.cgi?cmdtype=runnamed&list_id=361897&namedcmd=routed_prs
> 
> /Alexander
> _______________________________________________
> freebsd-net_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe_at_freebsd.org"
> 
> 

-- 
Rod Grimes                                                 rgrimes_at_freebsd.org
Received on Mon Jun 22 2020 - 10:49:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:24 UTC