]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Remove remnants of classful behavior in route(8).
authorAlexander V. Chernikov <melifaro@FreeBSD.org>
Sat, 16 Jan 2021 23:06:32 +0000 (23:06 +0000)
committerAlexander V. Chernikov <melifaro@FreeBSD.org>
Sat, 16 Jan 2021 23:45:30 +0000 (23:45 +0000)
commitd28210b2c2aaf3200907ed30d296b0d4856dd03c
tree4b70756b5396b4472223d9eec7faec7c1804f767
parent0ec6c03c76821edacba0615d3883293ad5f37dfc
Remove remnants of classful behavior in route(8).

Curently route(8) treats some addresses as network addresses:

 RTA_DST: inet 10.0.0.0; RTA_NETMASK: inet 255.0.0.0; RTA_IFP: link ;
 RTM_GET: Report Metrics: len 240, pid: 0, seq 1, errno 0, flags:<UP,GATEWAY,STATIC>
 locks:  inits:
 sockaddrs: <DST,NETMASK,IFP>
   10.0.0.0 255.0.0.0 link#0

Note added `RTA_NETMASK` in the request.

Host address from the same network is ok:

route -nv get 10.0.0.1
 RTA_DST: inet 10.0.0.1
 RTA_IFP: link
 RTM_GET: Report Metrics: len 224, pid: 0, seq 1, errno 0, flags:<UP,GATEWAY,HOST,STATIC>
...
   route to: 10.0.0.1
destination: 10.0.0.0
       mask: 255.255.255.0

This change eliminates network auto-guessing part AND reading network from /etc/networks.

Reviewed By: rgrimes

Differential Revision: https://reviews.freebsd.org/D24401
sbin/route/route.c