Summary: | Incompatible change in route(8) utility since 13.x | ||
---|---|---|---|
Product: | Base System | Reporter: | Eugene Grosbein <eugen> |
Component: | bin | Assignee: | freebsd-net (Nobody) <net> |
Status: | Open --- | ||
Severity: | Affects Only Me | CC: | grahamperrin, jamie, zarychtam, zlei |
Priority: | --- | ||
Version: | 13.1-STABLE | ||
Hardware: | Any | ||
OS: | Any | ||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258874 |
Description
Eugene Grosbein
2023-03-19 20:56:51 UTC
(In reply to Eugene Grosbein from comment #0) ># route -n get -net 192.168.0.0 That's probably failing due to the removal of classful bits[1], please compare the bug 258874. route -n get -net 192.168.0.0/24 from your example works as intended on the recent stable/13. [1] https://cgit.freebsd.org/src/commit/sbin/route/route.c?id=d28210b2c2aaf3200907ed30d296b0d4856dd03c The task is look up a route not knowing a mask beforehand and find the mask. (In reply to Marek Zarychta from comment #1) > route -n get -net 192.168.0.0 At the very least, shouldn't it produce an error, rather than giving a host route when "-net" is specified? (In reply to Eugene Grosbein from comment #2) > The task is look up a route not knowing a mask beforehand and find the mask. But did it ever work though? I'm sure that on 12.X and earlier, it's not actually finding the mask, it's just assuming you're looking for a /24. If you try creating (say) a /23 instead of a 24, you'll find the 'route -n get -net 192.168.0.0" doesn't return the /23, it instead fails. The confusion to me is that it now seems that "-net" / "-host" are redundant. - A "net" without a mask is now considered a host, not given the old pre-cidr default mask. |