]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/vxlan.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[mirror_ubuntu-bionic-kernel.git] / drivers / net / vxlan.c
index 8ca243d93b781acb1bdd612dee90c8722b4b21f1..fc998a3bd2347a756e5c61088eabfe783ef99951 100644 (file)
@@ -948,8 +948,10 @@ static int vxlan_fdb_dump(struct sk_buff *skb, struct netlink_callback *cb,
                                                     cb->nlh->nlmsg_seq,
                                                     RTM_NEWNEIGH,
                                                     NLM_F_MULTI, rd);
-                               if (err < 0)
+                               if (err < 0) {
+                                       cb->args[1] = err;
                                        goto out;
+                               }
 skip:
                                ++idx;
                        }
@@ -1176,9 +1178,10 @@ static void vxlan_parse_gbp_hdr(struct vxlanhdr *unparsed,
        md->gbp = ntohs(gbp->policy_id);
 
        tun_dst = (struct metadata_dst *)skb_dst(skb);
-       if (tun_dst)
+       if (tun_dst) {
                tun_dst->u.tun_info.key.tun_flags |= TUNNEL_VXLAN_OPT;
-
+               tun_dst->u.tun_info.options_len = sizeof(*md);
+       }
        if (gbp->dont_learn)
                md->gbp |= VXLAN_GBP_DONT_LEARN;