On 21/12/15 14:25, Martin Lucina wrote:
Given that the existing JSON format was just something that "fell out of
the implementation", part (1) involved not only refactoring the
specification, but also doing a complete rototill of the rumprun_config()
implementation to match.
This work is now feature-complete (i.e. it does everything the existing
configuration implementation does) and ready for review on the
'mato-wip-rumprun-config' branch on Github:
https://github.com/rumpkernel/rumprun/tree/mato-wip-rumprun-config
I'm still in slow-start xmas recovery mode, but to expedite the process
of getting the config revamp done, I'll point out what on first skim
looks like the big problem, and can do a more thorough review next(ish)
week.
First, out of curiosity, IIRC a month or two ago you said that you
didn't want json as the human-interface config format, since it's
somehow difficult/unfashionable/etc. I don't particularly care what the
format is as long as it's something standard -- the union of opinions is
that all formats suck -- but what made you settle on json after all?
Now, you've replaced the working json parser which was running below
libc with another json parser which is running on top of libc. What was
the motivation for replacing one json parser with another? No matter
what the answer, the result is not acceptable, since it effectively
makes it impossible to support kernelonly-mode config with the same parser.
Generally speaking, the bits of the config which make sense for kernonly
(e.g. network address configuration) should be written on top of
bmk/rumpkernel where at all feasible, not libc. That rewrite is on one
hand a separate change, but on the other hand it must not be torpedoed
as part of a config format revamp.
- antti