summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-12-04 14:41:20 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-01-17 19:22:18 -0500
commit40a678a4212dc4963f3d471bf831e65200417110 (patch)
tree7662c3a20540c4330a353dd5a36afc214d163f42
parent2047fdb5e741c5e645c0bad2ec43c5eafa8b947f (diff)
zebra: LastUsed needs to be updated properly.
The change to allow 12.04 to work killed S,G age out. Put it back. Ticket: CM-13879 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--zebra/rt_netlink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 0fd29a5efc..913d1d5770 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -77,6 +77,10 @@
#define RTA_ENCAP 22
#endif
+#ifndef RTA_EXPIRES
+#define RTA_EXPIRES 23
+#endif
+
#ifndef LWTUNNEL_ENCAP_MPLS
#define LWTUNNEL_ENCAP_MPLS 1
#endif
@@ -552,7 +556,7 @@ netlink_route_change_read_multicast (struct sockaddr_nl *snl, struct nlmsghdr *h
if (tb[RTA_DST])
sg.grp = *(struct in_addr *)RTA_DATA (tb[RTA_DST]);
- if (tb[RTA_EXPIRES])
+ if ((RTA_EXPIRES <= RTA_MAX) && tb[RTA_EXPIRES])
lastused = *(unsigned long long *)RTA_DATA (tb[RTA_EXPIRES]);
if (tb[RTA_MULTIPATH])