diff options
author | Thomas Graf <tgraf@suug.ch> | 2013-04-03 00:30:43 +0200 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2013-04-02 16:31:58 -0700 |
commit | 5d9633523f27dfcaac2d6052c7b3278311f77949 (patch) | |
tree | c9ee48774d76ed0a183018696a6a9c08be33ecbc /net/openvswitch/vport.c | |
parent | 22e3880a76bb9a0c4fa5c8fefdc8697a36a4dae1 (diff) | |
download | op-kernel-dev-5d9633523f27dfcaac2d6052c7b3278311f77949.zip op-kernel-dev-5d9633523f27dfcaac2d6052c7b3278311f77949.tar.gz |
openvswitch: Don't insert empty OVS_VPORT_ATTR_OPTIONS attribute
The port specific options are currently unused resulting in an
empty OVS_VPORT_ATTR_OPTIONS nested attribute being inserted
into every OVS_VPORT_CMD_GET message.
Don't insert OVS_VPORT_ATTR_OPTIONS if no options are present.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/vport.c')
-rw-r--r-- | net/openvswitch/vport.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c index f6b8132..71a2de8 100644 --- a/net/openvswitch/vport.c +++ b/net/openvswitch/vport.c @@ -301,17 +301,19 @@ void ovs_vport_get_stats(struct vport *vport, struct ovs_vport_stats *stats) int ovs_vport_get_options(const struct vport *vport, struct sk_buff *skb) { struct nlattr *nla; + int err; + + if (!vport->ops->get_options) + return 0; nla = nla_nest_start(skb, OVS_VPORT_ATTR_OPTIONS); if (!nla) return -EMSGSIZE; - if (vport->ops->get_options) { - int err = vport->ops->get_options(vport, skb); - if (err) { - nla_nest_cancel(skb, nla); - return err; - } + err = vport->ops->get_options(vport, skb); + if (err) { + nla_nest_cancel(skb, nla); + return err; } nla_nest_end(skb, nla); |