summaryrefslogtreecommitdiffstats
path: root/zebra/connected.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2016-10-18 01:36:21 +0200
committerQuentin Young <qlyoung@cumulusnetworks.com>2016-10-18 01:36:21 +0200
commite52702f29d003585dcfbb4914b2a52d77a177739 (patch)
tree3e130ded38c48316796bfb602dc6fe6d119129d2 /zebra/connected.c
parentospf6d: fix a few vty help strings (diff)
parentvtysh: fix build failure in vtysh_writeconfig_integrated() (diff)
downloadfrr-e52702f29d003585dcfbb4914b2a52d77a177739.tar.xz
frr-e52702f29d003585dcfbb4914b2a52d77a177739.zip
Merge branch 'cmaster-next' into vtysh-grammar
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: bgpd/bgp_route.c bgpd/bgp_routemap.c bgpd/bgp_vty.c isisd/isis_redist.c isisd/isis_routemap.c isisd/isis_vty.c isisd/isisd.c lib/command.c lib/distribute.c lib/if.c lib/keychain.c lib/routemap.c lib/routemap.h ospf6d/ospf6_asbr.c ospf6d/ospf6_interface.c ospf6d/ospf6_neighbor.c ospf6d/ospf6_top.c ospf6d/ospf6_zebra.c ospf6d/ospf6d.c ospfd/ospf_routemap.c ospfd/ospf_vty.c ripd/rip_routemap.c ripngd/ripng_routemap.c vtysh/extract.pl.in vtysh/vtysh.c zebra/interface.c zebra/irdp_interface.c zebra/rt_netlink.c zebra/rtadv.c zebra/test_main.c zebra/zebra_routemap.c zebra/zebra_vty.c
Diffstat (limited to 'zebra/connected.c')
-rw-r--r--zebra/connected.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/zebra/connected.c b/zebra/connected.c
index 97eb79d57..bc54aab01 100644
--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -39,6 +39,8 @@
#include "zebra/interface.h"
#include "zebra/connected.h"
#include "zebra/rtadv.h"
+#include "zebra/zebra_mpls.h"
+#include "zebra/debug.h"
/* communicate the withdrawal of a connected address */
static void
@@ -214,6 +216,15 @@ connected_up_ipv4 (struct interface *ifp, struct connected *ifc)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling RIB processing",
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ /* Schedule LSP forwarding entries for processing, if appropriate. */
+ if (ifp->vrf_id == VRF_DEFAULT)
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
+ ifp->vrf_id, ifp->name);
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
+ }
}
/* Add connected IPv4 route to the interface. */
@@ -334,6 +345,15 @@ connected_down_ipv4 (struct interface *ifp, struct connected *ifc)
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ /* Schedule LSP forwarding entries for processing, if appropriate. */
+ if (ifp->vrf_id == VRF_DEFAULT)
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
+ ifp->vrf_id, ifp->name);
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
+ }
}
/* Delete connected IPv4 route to the interface. */
@@ -360,6 +380,15 @@ connected_delete_ipv4 (struct interface *ifp, int flags, struct in_addr *addr,
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ /* Schedule LSP forwarding entries for processing, if appropriate. */
+ if (ifp->vrf_id == VRF_DEFAULT)
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
+ ifp->vrf_id, ifp->name);
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
+ }
}
void
@@ -390,6 +419,15 @@ connected_up_ipv6 (struct interface *ifp, struct connected *ifc)
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ /* Schedule LSP forwarding entries for processing, if appropriate. */
+ if (ifp->vrf_id == VRF_DEFAULT)
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
+ ifp->vrf_id, ifp->name);
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
+ }
}
/* Add connected IPv6 route to the interface. */
@@ -480,6 +518,15 @@ connected_down_ipv6 (struct interface *ifp, struct connected *ifc)
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ /* Schedule LSP forwarding entries for processing, if appropriate. */
+ if (ifp->vrf_id == VRF_DEFAULT)
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
+ ifp->vrf_id, ifp->name);
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
+ }
}
void
@@ -505,6 +552,15 @@ connected_delete_ipv6 (struct interface *ifp, struct in6_addr *address,
ifp->vrf_id, ifp->name);
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
+
+ /* Schedule LSP forwarding entries for processing, if appropriate. */
+ if (ifp->vrf_id == VRF_DEFAULT)
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
+ ifp->vrf_id, ifp->name);
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
+ }
}
int