summaryrefslogtreecommitdiff
path: root/isisd/isis_circuit.c
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isis_circuit.c')
-rw-r--r--isisd/isis_circuit.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 728cbdc67d..4f22a5e558 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -37,6 +37,7 @@
#include "linklist.h"
#include "command.h"
#include "thread.h"
+#include "vty.h"
#include "hash.h"
#include "prefix.h"
#include "stream.h"
@@ -58,6 +59,7 @@
#include "isisd/isisd.h"
#include "isisd/isis_csm.h"
#include "isisd/isis_events.h"
+#include "isisd/isis_te.h"
/*
* Prototypes.
@@ -96,6 +98,8 @@ isis_circuit_new ()
circuit->te_metric[i] = DEFAULT_CIRCUIT_METRIC;
}
+ circuit->mtc = mpls_te_circuit_new();
+
return circuit;
}
@@ -222,6 +226,10 @@ isis_circuit_add_addr (struct isis_circuit *circuit,
ipv4->prefixlen = connected->address->prefixlen;
ipv4->prefix = connected->address->u.prefix4;
listnode_add (circuit->ip_addrs, ipv4);
+
+ /* Update MPLS TE Local IP address parameter */
+ set_circuitparams_local_ipaddr (circuit->mtc, ipv4->prefix);
+
if (circuit->area)
lsp_regenerate_schedule (circuit->area, circuit->is_type, 0);
@@ -518,6 +526,7 @@ isis_circuit_if_bind (struct isis_circuit *circuit, struct interface *ifp)
assert (ifp->info == circuit);
else
ifp->info = circuit;
+ isis_link_params_update (circuit, ifp);
}
void
@@ -619,15 +628,6 @@ isis_circuit_up (struct isis_circuit *circuit)
/*
* Get the Hardware Address
*/
-#ifdef HAVE_STRUCT_SOCKADDR_DL
-#ifndef SUNOS_5
- if (circuit->interface->sdl.sdl_alen != ETHER_ADDR_LEN)
- zlog_warn ("unsupported link layer");
- else
- memcpy (circuit->u.bc.snpa, LLADDR (&circuit->interface->sdl),
- ETH_ALEN);
-#endif
-#else
if (circuit->interface->hw_addr_len != ETH_ALEN)
{
zlog_warn ("unsupported link layer");
@@ -641,7 +641,6 @@ isis_circuit_up (struct isis_circuit *circuit)
circuit->interface->ifindex, ISO_MTU (circuit),
snpa_print (circuit->u.bc.snpa));
#endif /* EXTREME_DEBUG */
-#endif /* HAVE_STRUCT_SOCKADDR_DL */
circuit->u.bc.adjdb[0] = list_new ();
circuit->u.bc.adjdb[1] = list_new ();