ip(8) in base
Alexander V. Chernikov
melifaro at ipfw.ru
Sun Aug 16 09:11:19 UTC 2020
I want to introduce ip(8) or something similar in base.
Basically, I need some userland tool to explicitly operates on nexthops, nexthop groups and fib lookup algorithms.
The existing tools are not well suited for the job: route(8) may be a candidate, but (a) it would either add another bunch of options or drastically change the tool by introducing [route nhop add], [route nhgroup add] and (b) listing is traditionally done by netstat(8).
I feel like there is a need of some cli tool that provides the ability to easily extend it by having separate namespaces for each sub-command (hello, ifconfig).
Naming is hard. I can, for example, use "rt" as a name to address my use cases.
However, given the kernel interfaces for managing nexthops/nexhop groups are the same as with routes/arp/ndp, why not spending some additional time and support operating on routes and neighbors and name it ip?
Though, that arises multiple questions.
Are we comfortable with ip(8) as a name in general?
If we are, what’s our take on having the compatible interface with Linux ip(8)?
Any comments/feedback is welcome :-)
Appendix
List of commands I need implemented
cmd [-46m] nhop create [gw XX] [iface YYY] [mtu YYY] [reject] [proxyfib Y] [fib X][ipv4] [ipv6]
cmd [-46m] nhop delete nhop_id
cmd -46m nhop list
cmd -j nhop list # json
cmd -46m nhgroup create nhops 1,2,3,4,5,6 [fib X]
cmd -46 nhgroup create nhops 1=100,2=100,3=200,4=100 [proxyfib Y][fib X]
cmd -46 nhroup list
cmd -46 nhgroup delete nhgroup_id
cmd -46 fib algo list
cmd -46 fib algo set algo dpdk_lpm6 fib 0
cmd -46 fib algo set algo auto fib 0
/Alexander
More information about the freebsd-net
mailing list