diff options
author | Daniele Di Proietto <ddiproietto@vmware.com> | 2014-07-17 17:26:00 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2014-08-04 14:32:13 -0700 |
commit | fceef2095222ef96544b263862dca0185178f960 (patch) | |
tree | 1c615be8b6623e44c11c3fae3e29f58ae9eb7192 /utilities/ovs-appctl.c | |
parent | dc71c5dd04553ce96bd38b5d2c669ed48c52ed93 (diff) | |
download | openvswitch-fceef2095222ef96544b263862dca0185178f960.tar.gz |
dpctl: add ovs-appctl dpctl/* commands to talk to dpif-netdev
This commit introduces multiple appctl commands (dpctl/*)
They are needed to interact with userspace datapaths (dpif-netdev), because the
ovs-dpctl command runs in a separate process and cannot see the userspace
datapaths inside vswitchd.
This change moves most of the code of utilities/ovs-dpctl.c in lib/dpctl.c.
Both the ovs-dpctl command and the ovs-appctl dpctl/* commands make calls to
lib/dpctl.c functions, to interact with datapaths.
The code from utilities/ovs-dpctl.c has been moved to lib/dpctl.c and has been
changed for different reasons:
- An exit() call in the old code made perfectly sense. Now (since the code
can be run inside vswitchd) it would terminate the daemon. Same reasoning
can be applied to ovs_fatal_*() calls.
- The lib/dpctl.c code _should_ not leak memory.
- All the print* have been replaced with a function pointer provided by the
caller, since this code can be run in the ovs-dpctl process (in which
case we need to print to stdout) or in response to a unixctl request (and
in this case we need to send everything through a socket, using JSON
encapsulation).
The syntax is
ovs-appctl dpctl/(COMMAND) [OPTIONS] [PARAMETERS]
while the ovs-dpctl syntax (which _should_ remain the same after this change)
is
ovs-dpctl [OPTIONS] (COMMAND) [PARAMETERS]
Signed-off-by: Daniele Di Proietto <ddiproietto@vmware.com>
[blp@nicira.com made stylistic and documentation changes]
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'utilities/ovs-appctl.c')
0 files changed, 0 insertions, 0 deletions