ofproto-dpif: Configure datapath max-idle through ovs-vsctl.
This patch adds a new configuration option, "max-idle" to the
Bridge "other-config" column. This sets how long datapath flows,
for the configured bridge, are cached in the datapath before
ovs-vswitchd thread expires them.
This commit is a backport of commit 72310b04 (upcall: Configure
datapath max-idle through ovs-vsctl.).
Signed-off-by: Alex Wang <email address hidden>
Acked-by: Joe Stringer <email address hidden>
cfm: Define old_cfm_fault as 'enum cfm_fault_reason'.
CFM fault variable type has been changed to 'enum cfm_fault_reason' for
long time. However, inside cfm_run(), the old_cfm_fault is still defined
as boolean. This commit fixes the issue.
Found by inspection.
Signed-off-by: Alex Wang <email address hidden>
Acked-by: Ben Pfaff <email address hidden>
dpif-linux: Lookup netdev to get netdev type string.
When creating tap ports in dpif-linux, the "tap" type is treated the
same as "system", and the type is discarded. When dumping datapath
port types, this would cause "tap" type to be reported as a "system"
type.
Each time we see a port of the wrong type in bridge_reconfigure(), we
remove it and add a port with the correct configuration. This would
always occur for tap ports, causing deletion and re-creation of all tap
ports each time the bridge was reconfigured.
This patch makes dpif-linux use netdev to look up port types if the
datapath reports that they are of type OVS_VPORT_TYPE_NETDEV.
Reported-by: James Schmidt <email address hidden>
Signed-off-by: Joe Stringer <email address hidden>
Acked-by: Alex Wang <email address hidden>
Acked-by: Ben Pfaff <email address hidden>
f36519e...
by
Jarno Rajahalme <email address hidden>
datapath: Fix race.
ovs_vport_cmd_dump() did rcu_read_lock() only after getting the
datapath, which could have been deleted in between. Resolved by
taking rcu_read_lock() before the get_dp() call.
ipsec: install iptables rules that set IPsec bit in skb mark
Without these two iptables rules (one for UDP encapsulated IPsec and
another for direct IPsec), ovs-vswitchd would incorrectly conclude
that GRE packet belonged to a plain GRE tunnel instead of IPsec GRE
tunnel.
datapath: Fix RHEL compat for netdev_rx_handler_register
Andrei Andone reported an oops on CentOS 6.4 when adding a device to an
ovs instance. The problem is easy to reproduce and generates the
following stack trace:
As you can see, we jumped to data rather than code. This is caused by
a mistake in the compat code for netdev_rx_handler_register which sets
the handler to rx_handler_data rather than rx_handler. This was
introduced by commit "3e35fe3 datapath: rhel: Move RHEL OVS hook
registration to netdev_rx_handler_register() backport".
Reported-by: Andrei Andone <email address hidden>
Signed-off-by: Chris Wright <email address hidden>
Cc: Thomas Graf <email address hidden>
Cc: Pravin Shelar <email address hidden>
Acked-by: Kyle Mestery <email address hidden>
Reviewed-by: Thomas Graf <email address hidden>
Signed-off-by: Pravin B Shelar <email address hidden>
datapath: rhel: Move RHEL OVS hook registration to netdev_rx_handler_register() backport
Moves the registration of the RHEL specific OVS hook to the compat
backport of netdev_rx_handler_register(). This moves the hook
unregistration from the RCU callback to the netdev_destroy()
callback directly.
This is purely cosmetic though, the RHEL hook is only used if the
IFF_OVS_DATAPATH flag is present which was removed under RTNL
protection before the RCU callback.
Signed-off-by: Thomas Graf <email address hidden>
Signed-off-by: Jesse Gross <email address hidden>
Signed-off-by: Pravin B Shelar <email address hidden>