summaryrefslogtreecommitdiff
path: root/zebra/kernel_socket.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2016-10-20 16:31:49 +0000
committerQuentin Young <qlyoung@cumulusnetworks.com>2016-10-20 16:31:49 +0000
commit0a538fc98fb662b4cf2d927ac29fd9af4a4fab03 (patch)
treef6dbe2af92d44f9a77e4802cefb440811dd69584 /zebra/kernel_socket.c
parente52702f29d003585dcfbb4914b2a52d77a177739 (diff)
parent41246cb61418102f9f3bfa3e0acfce90c7798e67 (diff)
Merge branch 'cmaster-next' into vtysh-grammar
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: isisd/isis_routemap.c zebra/rt_netlink.c
Diffstat (limited to 'zebra/kernel_socket.c')
-rw-r--r--zebra/kernel_socket.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index f3f0a2777e..6cb9f78598 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -899,7 +899,7 @@ rtm_read (struct rt_msghdr *rtm)
return;
#endif
- if ((rtm->rtm_type == RTM_ADD) && ! (flags & RTF_UP))
+ if ((rtm->rtm_type == RTM_ADD || rtm->rtm_type == RTM_CHANGE) && ! (flags & RTF_UP))
return;
/* This is connected route. */
@@ -1115,14 +1115,14 @@ rtm_write (int message,
ifp = if_lookup_by_index (index);
- if (gate && message == RTM_ADD)
+ if (gate && (message == RTM_ADD || message == RTM_CHANGE))
msg.rtm.rtm_flags |= RTF_GATEWAY;
/* When RTF_CLONING is unavailable on BSD, should we set some
* other flag instead?
*/
#ifdef RTF_CLONING
- if (! gate && message == RTM_ADD && ifp &&
+ if (! gate && (message == RTM_ADD || message == RTM_CHANGE) && ifp &&
(ifp->flags & IFF_POINTOPOINT) == 0)
msg.rtm.rtm_flags |= RTF_CLONING;
#endif /* RTF_CLONING */
@@ -1147,7 +1147,7 @@ rtm_write (int message,
if (mask)
msg.rtm.rtm_addrs |= RTA_NETMASK;
- else if (message == RTM_ADD)
+ else if (message == RTM_ADD || message == RTM_CHANGE)
msg.rtm.rtm_flags |= RTF_HOST;
#ifdef __OpenBSD__