[ovs-dev] [PATCH v3] ovs-hyperv: make kernel return values netlink socket like
Eitan Eliahu
eliahue at vmware.com
Wed Apr 29 15:15:50 UTC 2015
We will fix the transaction error message copy in the kernel in a separate change.
Thanks,
Eitan
-----Original Message-----
From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Ben Pfaff
Sent: Wednesday, April 29, 2015 7:45 AM
To: Nithin Raju
Cc: dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH v3] ovs-hyperv: make kernel return values netlink socket like
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 <nithin at vmware.com>
> Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
> Reported-at:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvs
> witch_ovs-2Dissues_issues_72&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-
> YihVMNtXt-uEs&r=CWsgHUxi6ExLXY798tmo3LJ4e3geGYp56lkcH-5cLCY&m=Ea0P825C
> d9r9LO_WuiBF5qIYzvUpud9ODF9pApcXxhI&s=VSYDudaje5XFAmpzjcYHIgg3wPtfoM3V
> b_Je1q23isk&e=
> ---
> 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 at openvswitch.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailman_listinfo_dev&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=CWsgHUxi6ExLXY798tmo3LJ4e3geGYp56lkcH-5cLCY&m=Ea0P825Cd9r9LO_WuiBF5qIYzvUpud9ODF9pApcXxhI&s=c85g8L1ozRygk-9THMEsnsmjkIdb8oeeVbqaPzgvLOg&e=
More information about the dev
mailing list