2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-29 15:28:56 +00:00
Commit Graph

15244 Commits

Author SHA1 Message Date
Ilya Maximets
89bbc6a9cd timeval: Fix misleading function descriptions.
TIME_UPDATE_INTERVAL was removed long time ago.
Now each call leads to time update via syscall and it's
granularity is system dependent.

Fixes: 31ef9f5178 ("timeval: Remove CACHE_TIME scheme.")
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-24 20:55:50 -07:00
Ilya Maximets
29a083ee50 tests: Add timeout to OVS_APP_EXIT_AND_WAIT.
ovs-appctl can wait indefinitely while executing an exit for a
dead service. Let's add a timeout (10 seconds should be
reasonable) to exit calls to avoid hanging up of the testsuite
in such cases.

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-24 16:25:51 -07:00
Ben Pfaff
52a9c55d55 json: New function json_object_put_format().
This will acquire users in an upcoming commit.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-24 16:09:17 -07:00
Ben Pfaff
d697750af6 json: New function json_nullable_clone().
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-24 16:09:16 -07:00
Ben Pfaff
ffa3493a00 uuid: New function uuid_random().
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-24 16:09:16 -07:00
Ben Pfaff
1011580e62 tests: Add support for 1-argument 'seq' in emulation.
The testsuite has an emulation of the common utility 'seq' that only
supported 2- and 3-argument forms.  This commit adds support for the
1-argument form.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-24 16:09:16 -07:00
Ben Pfaff
ce04c33d8b socket-util: Make parse_bracketed_token() public, as inet_parse_token().
An upcoming commit will introduce a new user outside socket-util.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-24 16:09:16 -07:00
Ben Pfaff
238f0052d8 jsonrpc: Increment sequence number when connection actually made.
The purpose of the sequence number is to allow the client to figure out
when the connection status has changed.  The significant event for the
client is when a connection completes, not when a connection attempt
starts.  Thus, this commit changes the code to increment the sequence
number at completion, not at the attempt.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-24 16:09:16 -07:00
Ben Pfaff
4410f20691 unixctl: Give better error message for unknown commands.
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Aaron Conole <aconole@redhat.com>
2017-10-24 15:12:04 -07:00
Mark Michelson
431e90b7c5 Documentation: Add document describing RBAC
Role based access control is a relatively new addition to OVS/OVN, and
aside from the database documentation in ovn-sb(5), there is not much
explaining what RBAC is, how to use it, and the available roles. This
document remedies that situation.

It is hopeful that any new roles added will be added to this document in
the future.

Signed-off-by: Mark Michelson <mmichels@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-24 14:45:34 -07:00
Mark Michelson
2c71d7d8ec OVN: Document how to use firewalld service files
Firewalld service files for OVN have been in the source for several
months. This adds instructions for how to use these service files with
firewalld.

Signed-off-by: Mark Michelson <mmichels@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-24 14:32:41 -07:00
Ben Pfaff
fd0e83552e Documentation: Improve formatting and add reference to Faucet tutorial.
Suggested-by: Stephen Finucane <stephen@that.guru>
Suggested-by: Han Zhou <zhouhan@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-24 13:58:57 -07:00
Ben Pfaff
98dc8dee99 Documentation: Add Faucet tutorial.
This is for a talk at the Faucet conference on Oct. 19:
http://conference.faucet.nz/schedule/

Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-24 12:53:48 -07:00
William Tu
1fdf0f4b84 travis: Fix OSX build on travis
Run "brew update" before any installs.
This yields a clean build:
	https://travis-ci.org/williamtu/ovs-travis/builds/291616874

Signed-off-by: William Tu <u9012063@gmail.com>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
2017-10-23 02:07:18 -07:00
Ben Pfaff
3a32d0ae17 NEWS: Fix heading.
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
2017-10-23 11:30:04 -07:00
Ben Pfaff
dbb51cd218 vswitch.xml: Fix typo in documentation.
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
2017-10-23 11:29:59 -07:00
William Tu
8bbbda3c75 ofproto-dpif-xlate: Fix truncate and native tunnnel
Previous commit a67b337dc2 breaks the truncate and native
tunnel testcase by removing the truncate flag.  The patch fixes
it by putting it back.  Reproduce the error by:
> make check-system-userspace TESTSUITEFLAGS='17'

Fixes: a67b337dc2 ("ofproto-dpif-xlate: Remove assertion for truncated")
Cc: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: William Tu <u9012063@gmail.com>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
2017-10-20 02:48:56 -07:00
Gurucharan Shetty
fc9669525f rhel, fedora: Add python-sphinx as a dependency.
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
Acked-by: Aaron Conole <aconole@redhat.com>
2017-10-20 02:46:36 -07:00
Gurucharan Shetty
a6480fc6aa ovs-save: Handle different 'ip addr show' output.
On RHEL 7.4 (with iproute-3.10.0-87), a DHCP provided
ipv4 address has the "dynamic" keyword set. For e.g
"ip addr show breth0 | grep inet" shows:

    inet 10.116.248.91/20 brd 10.116.255.255 scope global dynamic breth0
    inet6 fe80::250:56ff:fea8:fdf0/64 scope link

The keyword "dynamic" (according to 'man ip-address') is only
used for ipv6, but in this case this is not true. Our current
code will skip the ipv4 address restoration because of this.

With this commit, we special case "dynamic" keyword to be valid
in case of ipv4.

VMware-BZ: #1982196
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
2017-10-20 02:06:59 -07:00
Anand Kumar
01d6302800 datapath-windows: Update OvsIPv4TunnelKey flags in geneve decap.
Currently, the OvsLookupFlow fails for the decap packet,
when the Geneve options are present in the packet as the OvsIPv4TunnelKey
flags are not set in the Geneve decap.

Set the OvsIPv4TunnelKey flags OVS_TNL_F_OAM and OVS_TNL_F_CRT_OPT
in OvsDecapGeneve based on the geneve header. Also set OVS_TNL_F_GENEVE_OPT
if the packet has geneve options.

Signed-off-by: Anand Kumar <kumaranand@vmware.com>
Acked-by: Sairam Venugopal <vsairam@vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean@ovn.org>
Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
2017-10-20 19:11:40 +03:00
Aaron Conole
94cd8383e2 rhel: fix log directory permissions
When the logrotate script runs, and Open vSwitch is running as a non-root
user, the /var/log/openvswitch directory doesn't have other rx bits set.
This means the reopen attempt will fail with "permission denied", even though
the default logrotate configuration creates a new log file with the
appropriate attributes.

This change sets the r/x bits for other on /var/log/openvswitch

Signed-off-by: Aaron Conole <aconole@redhat.com>
Tested-by: Jean Hsiao <jhsiao@redhat.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
Acked-by: Markos Chandras <mchandras@suse.de>
Acked-by: Timothy Redaelli <tredaelli@redhat.com>
Signed-off-by: Russell Bryant <russell@ovn.org>
2017-10-18 15:27:28 -04:00
Ben Pfaff
adabd65ddd ovs-atomic: Add C++ compatible implementation.
G++ 5 does not implement the _Atomic keyword, which is part of C11 but not
C++11, so the existing <stdatomic.h> based atomic implementation doesn't
work.  This commit adds a new implementation based on the C++11 <atomic>
header.

In this area, C++ is pickier about types than C, so a few of the
definitions in ovs-atomic.h have to be updated to use more precise types
for integer constants.

This updates the code that generates cxxtest.cc to #include <config.h>
(so that HAVE_ATOMIC is defined) and to automatically regenerate when the
program is reconfigured (because otherwise the #include <config.h>) won't
get added without a "make clean" step).

"ovs-atomic.h" is not a public header, but apparently some code was
using it anyway.

Fixes: 9c463631e8 ("ovs-atomic: Report error for contradictory configuration.")
Reported-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
2017-10-17 16:53:58 -07:00
Anand Kumar
7468ec7885 datapath-windows: Remove the workaround in NAT for TCP checksum
When checksum offload is enabled, compute checksum using the
TCP pseudo header.

Signed-off-by: Anand Kumar <kumaranand@vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean@ovn.org>
Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
2017-10-16 17:29:05 +03:00
Justin Pettit
9006dc7541 FAQ: State that the userspace datapath implements meters.
Signed-off-by: Justin Pettit <jpettit@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
2017-10-13 15:24:28 -07:00
Ben Pfaff
a61016bea9 Set release date for 2.8.0.
Signed-off-by: Ben Pfaff <blp@ovn.org>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
2017-10-13 14:50:21 -07:00
William Tu
d2a5f17093 netdev: Fix memory leak on error path.
Instead of freeing in the error path, move the allocation
after it.  Found by inspection.

Signed-off-by: William Tu <u9012063@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-12 14:50:03 -07:00
Ben Pfaff
52f7b2cf09 vswitch.xml: Better document patch ports.
Reported-by: Hui Xiang <xianghuir@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Andy Zhou <azhou@ovn.org>
2017-10-12 14:49:11 -07:00
IWASE Yusuke
a67b337dc2 ofproto-dpif-xlate: Remove assertion for truncated
Because OpenFlow Spec does not clearly stipulate that "max_len" in
OUTPUT action must be zero when "port" is other than OFPP_CONTROLLER,
it is too strict assertion that confirm "max_len" is not zero, and
"max_len" should be ignored when not used.
Also this assertion causes the lack of the interoperability with some
controller implementations.

This patch removes these redundant assertions of if truncated or not.

Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: Andy Zhou <azhou@ovn.org>
2017-10-10 12:25:45 -07:00
Ben Pfaff
d9e75b8299 util: Make ovs_assert() always expand so that it should be followed by ;
ovs_assert() is normally invoked like a function call, e.g.:
    ovs_assert(true);
but its expansion was a full statement, so that this ended up expanding to:
    if (!OVS_LIKELY(true)) {                                       \
        ovs_assert_failure(OVS_SOURCE_LOCATOR, __func__, #CONDITION);       \
    };
with both } and ; at the end, which is weird and somewhat risky around 'if'
statements.

This commit fixes the problem, making ovs_assert() expand to an expression.

Reported-by: Greg Rose <gvrose8192@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-10-10 07:58:59 -07:00
Ilya Maximets
f61d40dec9 checkpatch: Reset line counter.
Lines should be counted for each file separately.

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Aaron Conole <aconole@redhat.com>
2017-10-10 07:55:24 -07:00
Ben Pfaff
172cc6c100 util: Fix style in ovs_hex_dump().
Reported-by: Russell Bryant <russell@ovn.org>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-09 10:35:13 -07:00
Ben Pfaff
f92ef1a8e8 ofp-print: Avoid trailing white space in OpenFlow dumps.
ofp_to_string() sometimes yields a trailing space in its output.  This is
annoying for the test infrastructure, since we have to specially mark the
trailing white space in Autotest with a "@&t@" marker at the end of the
line.  This commit gets rid of the trailing white space and the annoying
"@&t@" markers.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-06 20:52:24 -07:00
Ben Pfaff
327a39b6ec util: Avoid trailing white space in hex dumps.
ovs_hex_dump() sometimes yields a trailing space in its output.  This is
annoying for the test infrastructure, since we have to specially mark the
trailing white space in Autotest with a "@&t@" marker at the end of the
line.  This commit gets rid of the trailing white space and the annoying
"@&t@" markers.

This also gets rid of an occasional trailing hyphen.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-06 20:52:24 -07:00
Ben Pfaff
e51d0a1d5a table: Avoid trailing white space in tables.
Commands that use the table library, such as ovs-vsctl and  "ovsdb-client
dump", print trailing white space in tabular output, to fill out the entire
width of their tabular columns.  This is annoying whenever we use these
commands in the test infrastructure, since we have to specially mark the
trailing white space in Autotest with a "@&t@" marker at the end of the
line.  This commit gets rid of the trailing white space and the annoying
"@&t@" markers.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-06 20:52:24 -07:00
Ben Pfaff
44074babd0 daemon-unix: With --monitor, only close standard fds if --detach also used.
Daemons generally should close the standard fds because they don't want to
hold open an SSH session, etc. that is attached to a tty.  But --monitor
without --detach does not daemonize, so do not close fds in that case.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-06 20:52:24 -07:00
Ben Pfaff
45b4b20ab7 replication: Avoid theoretical use-after-free error in reset_database().
Code that calls ovsdb_txn_row_delete() should avoid referencing the
deleted row again, because it might be freed.  In practice this shouldn't
really happen in this case because of the particular circumstances, but it
costs little to be careful.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
2017-10-06 20:52:24 -07:00
Gurucharan Shetty
f28cae87ea rhel: Skip systemctl redirect.
We still use SysV scripts for RHEL. Currently, invoking
/etc/init.d/openvswitch will redirect the calls to
dynamically generated systemd scripts. In the above case when you call
"/etc/init.d/openvswitch-switch start", it inturn calls
"/bin/systemctl start openvswitch-switch.service" and
that inturn again calls "/etc/init.d/openvswitch-switch start"

This patch avoids it.  This is similar to what was done to
Debian in commit 873d85653d (debian: Skip systemctl redirect.)

Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
2017-10-06 08:43:47 -07:00
Gurucharan Shetty
6ff726467a ovs-ctl.in: Call 'hostname -f' after vswitchd starts.
Currently we call 'hostname -f' when ovs-vswitchd is not
running. If you are using ovs-vswitchd to provide your
primary networking, then 'hostname -f' will "hang" till it
times out. On the system this issue was discovered, this was
as long as 40 seconds. This is a problem during OVS restarts
or upgrades.

This commit calls 'hostname -f' after ovs-vswitchd has started.

VMware-BZ: #1972026
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
2017-10-06 08:38:36 -07:00
Ben Pfaff
4a0c670ab0 ovs-atomic: Reintroduce atomic_uint64_t and atomic_int64_t.
This is essentially a revert of commit e09d61c41b ("ovs-atomic: Remove
atomic_uint64_t and atomic_int64_t.")  My fear that some 32-bit platforms
did not support 64-bit integers seems overblown, because OVS 2.6.x uses
the 64-bit atomic_ullong and it is in Debian, which has tons of
architectures.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Simon Horman <simon.horman@netronome.com>
2017-10-06 09:46:43 -07:00
Iman Tabrizian
8acf7ad0b1 Fix a typo in the controller name in the howto
This commit fixes potential unintended mistake in howto guide of
userspace tunneling.

Submitted-at: https://github.com/openvswitch/ovs/pull/209
Signed-off-by: Iman Tabrizian <tabrizian@outlook.com>
Signed-off-by: Russell Bryant <russell@ovn.org>
2017-10-02 14:57:02 -04:00
Andy Zhou
66a396d4ff dpif-netdev: Use portable error code for zero rate meter band
'EBADRQC' is only defined on the Linux platform. Without this fix,
The travis MacOS build fails. Switching to using EDOM which is more
portable.

Fixes: 2029ce9ac3 (dpif-netdev: Fix a zero-rate bug for meter)
CC: Ali Volkan ATLI <volkan.atli@argela.com.tr>
Signed-off-by: Andy Zhou <azhou@ovn.org>
Acked-by: Joe Stringer <joe@ovn.org>
2017-09-29 12:35:59 -07:00
Ben Pfaff
6d91e84cc6 connmgr: Fix violation of flow monitoring protocol description.
nicira-ext.h says:

 * 1. OVS sends an NXT_FLOW_MONITOR_PAUSED message to the controller, following
 *    all the already queued notifications.  After it receives this message,
 *    the controller knows that its view of the flow table, as represented by
 *    flow monitor notifications, is incomplete.

The actual implementation could send NXT_FLOW_MONITOR_PAUSED in the middle
of a series of queued notifications.  This fixes it to always send it after
those notifications.  Possibly this confused some controllers, since the
documentation said that NXFME_ADD and NXFME_MODIFIED notifications wouldn't
be sent between "pause" and "resume" messages, but this bug could cause
them to be sent just after "pause".

VMware-BZ: #1919454
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Gurucharan Shetty <guru@ovn.org>
2017-09-28 14:43:20 -07:00
Gurucharan Shetty
eacd48ecdd ovn/actions: Improve OVN load-balancing performance.
Currently, we send the first packet of every new connection
to userspace to figure out the target IP address of load-balancing.

With this patch, we use the selection method of dp_hash to prevent
that situation.

Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
2017-09-28 03:18:38 -07:00
Shashank Ram
880b52e6f6 datapath-windows: Fix bugs in cleaner threads
Conntrack, Conntrack-related, Stt, and IP fragmentation
have cleaner threads that run periodically to clean
up their respective tables. During driver unload,
OvsExtDetach() calls into routines that are meant
for explicitly cleaning these tables up and freeing
the resources associated with these threads.

If during driver unload, these cleaner threads run
immediately after the resources are freed, such as locks
used by these threads, then the cleaner threads result
in a kernel crash since they try to acquire locks
that have already been freed.

For eg, OvsIpFragmentEntryCleaner() caused a kernel
crash because it tried to acquire a lock that was
already freed by OvsCleanupIpFragment().

The fix is to simply exit the cleaner thread if the
lock associated with the thread is not initialized,
because the only way the threads can run when the lock
is invalid is when the lock has been freed up during
driver unload.

Testing done:
Verified that cleaner threads run as expected without
crashing during driver unload.

Signed-off-by: Shashank Ram <rams@vmware.com>
Acked-by: Anand Kumar <kumaranand@vmware.com>
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
2017-09-28 02:07:32 -07:00
Stephen Finucane
4bf770c305 docs: Add references to git-pw
Now that Patchwork 2.0 is out, folks can start to take advantage of some
of the new features that it offers. Chief among these is series support,
which is only exposed via the web UI and new REST API and which, in
turn, necessitates using git-pw rather than pwclient. As such, this tool
is slightly documented.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2017-09-28 08:43:26 -07:00
Ali Volkan ATLI
2029ce9ac3 dpif-netdev: Fix a zero-rate bug for meter
Open vSwitch daemon crashes (by receiving signal SIGFPE,
Arithmetic exception) when a controller tries to send
a meter-mod message with zero rate.

Signed-off-by: Ali Volkan ATLI <volkan.atli@argela.com.tr>
Signed-off-by: Andy Zhou <azhou@ovn.org>
2017-09-27 10:35:28 -07:00
Andy Zhou
1193857813 ofproto-dpif-xlate: Refactor native tunnel handling logic
Merge native tunnel handling with patch port handling
as much as possible.

Current native tunnel handling logic inspects the generated actions
to determine if truncate has been applied to the packet. (since if
it is then recirculation should be used).  This logic can be
simplified by passing the 'truncate' boolean argument into
compose_output_action().

Signed-off-by: Andy Zhou <azhou@ovn.org>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>
2017-09-27 09:56:06 -07:00
Andy Zhou
48f704f476 ofproto-dpif-xlate: Rename apply_nested_clone_actions()
Rename apply_nested_clone_actions() To patch_port_output().
The original function name does not make much sense.

Signed-off-by: Andy Zhou <azhou@ovn.org>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>
2017-09-27 09:55:59 -07:00
Andy Zhou
96c3a6e5b5 ofproto-dpif-xlate: Refactor xlate_table_actions()
Allow xlate_table_actions() to generate actions with or without
enclosed in clone().

Signed-off-by: Andy Zhou <azhou@ovn.org>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>
2017-09-27 09:55:55 -07:00
Andy Zhou
feee58b958 ofproto-dpif-xlate: Keep track of the last action
When Openflow clone is last action of an action list, it does not
make sense for xlated actions to generate datapath clone action.

This patch attemps to Keep track of last clone action, but not
necessarily for every case.

Signed-off-by: Andy Zhou <azhou@ovn.org>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>
2017-09-27 09:55:51 -07:00