James Carlson wrote:
> Jarrett Lu writes:
>
>> So far, I don't see a cliff yet. Ed's concern is mostly about not
>> cleaning up
>> default routes after zones are halted. While I think Ed has a point, I don't
>> see zones not cleaning up their default routes upon halting as a disaster.
>> We already have situations that default/static routes don't get cleaned up
>> after they are no longer needed.
>>
>
> I agree with Ed that failing to remove the routes is sloppy. It means
> that a simple reconfiguration ("oh, the router is .2 here and not
> .1!") using the documented interfaces results in a broken system --
> one with two routes, one good and one bad, leaving the administrator
> to clean up after it.
>
> That's not a great idea. It's possible that this would be acceptable
> for TX, where all zones behave as a collective and where
> administration practices might be more constrained, but I can't see it
> being that way otherwise.
>
> A somewhat simple solution could be implemented in zoneadmd. You'd
> have to keep track of the routes you add as you add them, and note the
> duplicates. Then, when the zones shut down, delete the route when the
> last zone using it goes away.
>
This has a better chance of working if default routes can *only* be added
by zonecfg/zoneadmd. If someone manually adds a default route, without
knowledge of zoneadmd, we are back to a non working system again.
To manage a shared resource correctly, we need to have a reference count.
The best place to keep the count is in kernel, I believe.
> That has the benefit of working for both TX and regular cases, of
> allowing the configuration that Ceri Davies wanted, and not leaving
> any mess around afterwards.
>
>
>> Your earlier suggestion about adding zoneid to route(1M) is interesting.
>> When ire_zoneid is set explicitly by "zoneid", it's clear who set the ire
>> entry, who can use the entry, and who should clean up the entry. It also
>> implies that the routing table could have many almost identical entries
>> that only differ in ire_zoneid. This may have performance implications
>> when finding a matching entry. Anyway, we haven't thought about
>> the design enough.
>>
>
> That's possible, but seems like deeper and riskier surgery to me,
> particularly for something intended to be released as a patch.
>
>
That's a good point. Many TX customers require a lengthy and expensive
certification on the OS before they can deploy it. Sun certifies Update
Releases,
but probably no plan to certify onnv any time soon. We do need a solution
that fits Update Release model.
Jarrett