On 12/17/2013 02:23 AM, Jesse Gross wrote:
On Sat, Nov 30, 2013 at 4:25 AM, Thomas Graf <tg...@redhat.com> wrote:
diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c
index 6c482d0..2d8a1aa 100644
--- a/lib/dpif-linux.c
+++ b/lib/dpif-linux.c
@@ -73,6 +73,7 @@ struct dpif_linux_dp {
/* Attributes. */
const char *name; /* OVS_DP_ATTR_NAME. */
const uint32_t *upcall_pid; /* OVS_DP_ATTR_UPCALL_PID. */
+ uint32_t user_features; /* OVS_DP_ATTR_USER_FEATURES */
struct ovs_dp_stats stats; /* OVS_DP_ATTR_STATS. */
struct ovs_dp_megaflow_stats megaflow_stats;
/* OVS_DP_ATTR_MEGAFLOW_STATS.*/
@@ -228,6 +229,7 @@ dpif_linux_open(const struct dpif_class *class OVS_UNUSED,
const char *name,
dp_request.cmd = OVS_DP_CMD_NEW;
upcall_pid = 0;
dp_request.upcall_pid = &upcall_pid;
+ dp_request.user_features |= OVS_DP_F_UNALIGNED;
} else {
dp_request.cmd = OVS_DP_CMD_GET;
}
Does this handle the case where we are opening an existing datapath
and need to update the features?
The patch (''openvswitch: Drop user features if old user space attempted
to create datapath'') takes care of resetting the features for the
downgrade case. The upgrade case with a persistent datapath object is
currently not implemented. The datapath object needs to be recreated.
Defining the NLM_F_REPLACE semantics is non trivial if we want to do
more than just update the settings. I will propose this in a follow up
patch.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev