On Tue, Apr 28, 2015 at 02:35:37PM -0700, Nithin Raju wrote: > In this patch, we make changes to usersapce as well as > kernel datapath on hyperv to make it more netlink socket > like. Previously, the kernel datapath did not distinguish > between "transport errors" and other errors. Netlink > semantics dictate that netlink functions should only > return an error only in the case of a "transport error" > which is generally something fatal. Eg. failure to > communicate with the OVS module, or an invalid command > altogether. Other errors such as an unsupported action, > or an invalid flow key is not considered a "transport > error", and in such cases, netlink functions are to return > success with a 'struct nlmsgerr' populated in the output > buffer. > > This patch implements these semantics. > > Signed-off-by: Nithin Raju <nit...@vmware.com> > Acked-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> > Reported-at: https://github.com/openvswitch/ovs-issues/issues/72 > --- > v2: addressed Sorin's comments > v3: rebase to HEAD
I applied this, thanks! This assert in nl_sock_transact_multiple__() will fire (killing the process) whenever the "if" condition is entered. Is it really desirable? if (request_nlmsg->nlmsg_seq != reply_nlmsg->nlmsg_seq) { ovs_assert(request_nlmsg->nlmsg_seq == reply_nlmsg->nlmsg_seq); VLOG_DBG_RL(&rl, "mismatched seq request %#"PRIx32 ", reply %#"PRIx32, request_nlmsg->nlmsg_seq, reply_nlmsg->nlmsg_seq); break; } _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev