diff options
author | Quentin Young <qlyoung@cumulusnetworks.com> | 2016-10-18 01:36:21 +0200 |
---|---|---|
committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2016-10-18 01:36:21 +0200 |
commit | e52702f29d003585dcfbb4914b2a52d77a177739 (patch) | |
tree | 3e130ded38c48316796bfb602dc6fe6d119129d2 /zebra/connected.c | |
parent | ospf6d: fix a few vty help strings (diff) | |
parent | vtysh: fix build failure in vtysh_writeconfig_integrated() (diff) | |
download | frr-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.c | 56 |
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 |