On Jan 31 2007 08:34, David Hollis wrote:Doing it by MARK a tables and rules is an ugly method, and like anything with is spread over many places (the mangle table to MARK), then 'rules' and 'tables', spreading an action into many places increases the chances of getting parts out of sync and having the whole not work as intended. And the 'ip' man page defines everything in BNF, which was hot stuff when Algol-60 came out (1960) but which is only readable to people who use it frequently.Conversely, I've seen many cases of drivers that are developed by the
community, but kept out-of-kernel forever due to various reasons. Some
of them are due to the code quality and the developers not accepting the
feedback to get the drivers into shape to be 'kernel worthy', sometimes
it seems to be a lack of interest from the developers to merge upstream.
Maybe because they think they would lose control or something?
Putting the "codingstyle" control aside, often it's because things look
too hackish. Take ipt_ROUTE as an example. It won't get included, since
the "proper" way to do it would be using MARK and iproute2. But many users
don't get that [no criticism here], because ipt_ROUTE is so much easier.
(Probably because iproute2 and other netlink-using tools, like tc, lack
thorough documentation.)