[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201210191148.q9JBkm0v018443@lab1.dls>
Date: Fri, 19 Oct 2012 07:46:48 -0400
From: David L Stevens <dlstevens@...ibm.com>
To: Stephen Hemminger <shemminger@...tta.com>,
David Miller <davem@...emloft.net>
cc: netdev@...r.kernel.org
Subject: [PATCH] vxlan nits
This patch fixes a couple problems with vxlan.
1) Improper check of NUD_PERMANENT makes permanent forwarding table
entries timeout too.
2) Check for "0.0.0.0" as gaddr and allow to mean "no group". The
iproute2 patch sends gaddr even if not specified, which
fails the IN_MULTICAST() test. This patch allows static-only
forwarding and dropping everything else.
Signed-Off-By: David L Stevens <dlstevens@...ibm.com>
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 607976c..3fac9f3 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -816,7 +816,7 @@ static void vxlan_cleanup(unsigned long arg)
= container_of(p, struct vxlan_fdb, hlist);
unsigned long timeout;
- if (f->state == NUD_PERMANENT)
+ if (f->state & NUD_PERMANENT)
continue;
timeout = f->used + vxlan->age_interval * HZ;
@@ -1047,7 +1047,7 @@ static int vxlan_validate(struct nlattr *tb[], struct nlattr *data[])
if (data[IFLA_VXLAN_GROUP]) {
__be32 gaddr = nla_get_be32(data[IFLA_VXLAN_GROUP]);
- if (!IN_MULTICAST(ntohl(gaddr))) {
+ if (gaddr && !IN_MULTICAST(ntohl(gaddr))) {
pr_debug("group address is not IPv4 multicast\n");
return -EADDRNOTAVAIL;
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists