On Tue, Apr 25, 2017 at 8:43 PM, Ben Pfaff <[email protected]> wrote: > On Tue, Apr 25, 2017 at 05:02:14PM -0700, Andy Zhou wrote: >> vswitchd can gracefully shutdown after receiving the 'appctl exit' >> command. But the datapath resources vswitchd created can >> linger on. This is not a problem, and in fact desireable when the >> shutdown is transient in nature. Since restarted vswitchd usually >> sees a similar configuration. By keeping the datapath resources >> minimize the perturbation to the running data traffic. >> >> However, when vswitchd shutdown is permanent, there should be a >> way to release the all datapath resources, so that they won't >> be linger on forever. Add 'appctl quit' command for such purpose. >> >> Signed-off-by: Andy Zhou <[email protected]> > > Thanks for working on this. > > I have two categories of comments here. The first category is a general > kind of unease over what problems this solves. I think it's better if > we don't have to make the distinction between two ways to exit, and so > I'd like to hear more specifically about the problems that this solves.
The specific use case that triggered this patch was a user wanted to shut down OVS in the root name space, then restart OVS in a specific name space with the same or very similar configuration. They found that having the same bridge and ports existing in both the root name space and another name space to be confusing. They are also concerned about potential kernel resource leak in the root name space. They could have solved this by explicitly remove all bridges before stopping OVS services, but they chose not to rely on this approach (I don't know the details). They are mostly interested in having a whole sale way of releasing all kernel resources. Ideally, they'd like this to be provided via the the distribution scripts. They worked around this issue by issuing the 'ovs-dpctl del-dp ovs-system' command after stopping OVS services. It solves their problem at hand. While 'ovs-dpctl del-dp ovs-system' will remove all resources known to OVS kernel module, OVS userspace may create additional kernel resources outside the OVS kernel module down the road, For example: - light weight tunnel devices created by rtnetlink messages. - (future) reatlimiter created by NFT netlink messages. - CT/NAT states - TC Queues. Given that, It seems a better model would be for vswitchd to manage DP resource deletion, although this patch does not address most, if at all, of the issues listed above, this command can be expanded down the road. What do you think? I am definitely certainly open any comments and suggestions. > > The second category is just about naming. The two names "quit" and > "exit" don't suggest different operations and so I think that they are > likely to lead to confusion. I know that I, personally, will never > remember which is which. I'd suggest, instead, making the existing > "exit" take an option to explain what kind of shutdown is desired. > That's a fair point. May be we can add an option to exit, e.g. 'appctl exit clean-dp'? > Thanks, > > Ben. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
