4 ms·
Why would they want to run that abomination in FreeBSD?
by kasabali 4y ago
Why would they want to run that abomination in FreeBSD?
- kevans91 4y agoIMO it was just a relatable example of a somewhat extensive user of netlink that demonstrates compatibility. Some folks may want to run it under the Linuxolator, which seems reasonable. I only have limited knowledge about netlink, all coming from a devsummit presentation by Alexander, but it seems like an actually good generic kernel interface to have.
- stefan_ 4y agoIt really isn't. It's like someone wanted to add protobufs for kernel interfaces, but everything has not one tenth of the usability. In fact it's the kind of thing someone would design who wanted to make it's use in C maximally painful and error prone.
- eqvinox 4y agoWorking with both netlink and protobufs in C for 10+ years, I gotta say the latter is much more painful than the former. Error prone I would agree though, mostly because it's too easy to implement netlink… and get it wrong in the process. NB: my experience specifically relates to C. Protobuf's bindings to other languages are better.
- chris_wot 4y agoWhat is wrong with it?
- f1shy 4y agoSee my answer to the parent comment.
- f1shy 4y agoThat was exactly my thought, specially after reading another answer: > "ip addr show" lists interfaces and their stats. It's harder to read than ifconfig -a but gives you the same information in a similar format. > "ip route show" replaces netstat -rn to show the routing table but is also not as well formatted as the old command. > So basically it combines a bunch of commands (including ifconfig) into one and gives them all a unified interface. To me sounds like same but worse, and combining 10 commands into 1 seems to be totally against the unix philosophy "it should do one thing, and do it properly"
- agapon 4y agoNote that "netlink support" != "ip command". In fact, ip command hasn't been added and I haven't heard of any plans to do so.
- zokier 4y ago> To me sounds like same but worse, and combining 10 commands into 1 seems to be totally against the unix philosophy "it should do one thing, and do it properly" The "one thing" ip essentially does is working with NETLINK_ROUTE protocol; it is relatively thin wrapper exposing that to shell.
- icehawk 4y agoAnd its far more consistent to deal with. v6 works like v4, arp and ndp work the same (down to subcommand to invoke them: they're under "neighbor") everything uses the same verbiage: add/delete/change/set. none of this sillyness where you need one command to show the routing table 'netstat -rn' and another to manipulate the routing table 'route add/delete/change' (and then v4 uses -mask and v6 uses -prefixlen, etc etc)
- akira2501 4y agoAlso, vlans and bridges.. and vlans _on_ bridges. tap interfaces? Yup! Flattening everything and then making it available through the 'verb' syntax is an absolute joy to work with, especially if you're doing time sensitive work or trying to debug a test setup. The CLI flows like a language, and you find yourself guessing at new "phrases" that very often _don't_ summon demons and actually do what you expected. I like it so much, I emulate it whenever it makes sense to do so for my own CLI tools.
- mnd999 4y agoI can’t comment on netlink but there does seem to be a lack of innovation in FreeBSD of late. Everything has to be done the same way Linux does it or there’s little adoption and at that point you might as well just use Linux. There has to be some differentiation or why bother?
- tuetuopay 4y agoThere are a lot of nice things with netlink. This provides a unified interface to the whole networking stack, where everything is consistent. To me, the main advantage of netlink is the multicast mode, where you can subscribe to certain class of events. e.g. route add, neighbor add, etc. Also, a lot of linux software for the networking domain interfaces with netlink, so they gain freebsd compatibility for, well, free. For example, you get FRR compat now.