[Xorp-hackers] FEA: Difference in _live_config v/s _pulled_config
Ben Greear
greearb at candelatech.com
Thu Mar 20 10:31:03 PDT 2008
Pavlin Radoslavov wrote:
> At the high level, _pulled_config is used for synchronous purpose,
> while the _live_config is used for asyncronous purpose.
>
> However, just can't just get rid of pulled_config:
>
I basically got rid of live-config, and let the observer update the
pulled_config
tree.
> * The Observer mechanism doesn't always exist (e.g., Windows).
>
> * In some cases (like when committing the interface
> configuration), in the middle of the commit we need to
> synchronously pull the interface configuration from the kernel
> (e.g., to fill-in kernel generated information such as the
> physical interface index).
> The Observer is asynchronous so we can't use it for the synchronous
> population of _pull_config.
>
I think that will work fine with how I'm trying to use it. Xorp isn't
multi-threaded (thank god),
so no observer will be updating the tree while we are doing a sync
pull_config. Any messages
that come in afterwards should be either duplicate information (which
should cause no harm), or
be new changes since the sync pull completed.
There *might* be a way to get in a weird state if the observer has
queued msgs from
before the sync pull, but I can't think of any offhand since it seems
they should just
be redundant in that case.
Thanks,
Ben
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the Xorp-hackers
mailing list