summaryrefslogtreecommitdiff
path: root/isisd
diff options
context:
space:
mode:
Diffstat (limited to 'isisd')
-rw-r--r--isisd/ChangeLog4
-rw-r--r--isisd/isis_lsp.c307
-rw-r--r--isisd/isis_pdu.c101
-rw-r--r--isisd/isis_spf.c22
4 files changed, 4 insertions, 430 deletions
diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 3735b4fc..36098d17 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,5 +1,9 @@
2005-09-19 Hasso Tepper <hasso at quagga.net>
+ * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code.
+
+2005-09-19 Hasso Tepper <hasso at quagga.net>
+
* isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4
reachibility metric display.
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index d02f3833..b7ddfd9d 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -915,246 +915,6 @@ lsp_print_all (struct vty *vty, dict_t * lspdb, char detail, char dynhost)
return lsp_count;
}
-#if 0
-/* this function reallocate memory to an lsp pdu, with an additional
- * size of memory, it scans the lsp and moves all pointers the
- * way they should */
-static u_char *
-lsppdu_realloc (struct isis_lsp * lsp, int memorytype, int size)
-{
- u_char *retval;
-
- retval = STREAM_DATA (lsp->pdu) + ntohs (lsp->lsp_header->pdu_len);
-#ifdef LSP_MEMORY_PREASSIGN
- lsp->lsp_header->pdu_len = htons (ntohs (lsp->lsp_header->pdu_len) + size);
- return retval;
-#else /* otherwise we have to move all pointers */
- u_char *newpdu;
- newpdu = stream_new (ntohs (lsp->lsp_header->pdu_len) + size);
- stream_put (newpdu, STREAM_DATA(lsp->pdu), ntohs (lsp->lsp_header->pdu_len));
- XFREE (memorytype, lsp->pdu);
- lsp->pdu = newpdu;
- lsp->isis_header = (struct isis_fixed_hdr *) STREAM_DATA (lsp->pdu);
- lsp->lsp_header = (struct isis_link_state_hdr *)
- (STREAM_DATA (lsp->pdu) + ISIS_FIXED_HDR_LEN);
- htons (ntohs (lsp->lsp_header->pdu_len) += size);
- return STREAM_DATA (lsp->pdu) + (lsp->lsp_header->pdu_len - size);
-#endif /* LSP_MEMORY_PREASSIGN */
-}
-#endif
-
-#if 0 /* Saving the old one just in case :) */
-/*
- * Builds the lsp->tlv_data
- * and writes the tlvs into lsp->pdu
- */
-void
-lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
-{
- struct is_neigh *is_neigh;
- struct listnode *node, *nnode, *ipnode, *ipnnode;
- int level = lsp->level;
- struct isis_circuit *circuit;
- struct prefix_ipv4 *ipv4;
- struct ipv4_reachability *ipreach;
- struct isis_adjacency *nei;
-#ifdef HAVE_IPV6
- struct prefix_ipv6 *ipv6;
- struct ipv6_reachability *ip6reach;
-#endif /* HAVE_IPV6 */
-
- /*
- * First add the tlvs related to area
- */
-
- /* Area addresses */
- if (lsp->tlv_data.area_addrs == NULL)
- lsp->tlv_data.area_addrs = list_new ();
- list_add_list (lsp->tlv_data.area_addrs, area->area_addrs);
- /* Protocols Supported */
- if (area->ip_circuits > 0
-#ifdef HAVE_IPV6
- || area->ipv6_circuits > 0
-#endif /* HAVE_IPV6 */
- )
- {
- lsp->tlv_data.nlpids = XMALLOC (MTYPE_ISIS_TLV, sizeof (struct nlpids));
- lsp->tlv_data.nlpids->count = 0;
- if (area->ip_circuits > 0)
- {
- lsp->tlv_data.nlpids->count++;
- lsp->tlv_data.nlpids->nlpids[0] = NLPID_IP;
- }
-#ifdef HAVE_IPV6
- if (area->ipv6_circuits > 0)
- {
- lsp->tlv_data.nlpids->count++;
- lsp->tlv_data.nlpids->nlpids[lsp->tlv_data.nlpids->count - 1] =
- NLPID_IPV6;
- }
-#endif /* HAVE_IPV6 */
- }
- /* Dynamic Hostname */
- if (area->dynhostname)
- {
- lsp->tlv_data.hostname = XMALLOC (MTYPE_ISIS_TLV,
- sizeof (struct hostname));
- memcpy (&lsp->tlv_data.hostname->name, unix_hostname (),
- strlen (unix_hostname ()));
- lsp->tlv_data.hostname->namelen = strlen (unix_hostname ());
- }
-#ifdef TOPOLOGY_GENERATE
- /*
- * If we have a topology in this area, we need to connect this lsp to
- * the first topology lsp
- */
- if ((area->topology) && (level == 1))
- {
- if (lsp->tlv_data.is_neighs == NULL)
- lsp->tlv_data.is_neighs = list_new ();
- is_neigh = XCALLOC (MTYPE_ISIS_TLV, sizeof (struct is_neigh));
- memcpy (&is_neigh->neigh_id, area->topology_baseis, ISIS_SYS_ID_LEN);
- /* connected to the first */
- is_neigh->neigh_id[ISIS_SYS_ID_LEN - 1] = (0x01);
- /* this is actually the same system, why mess the SPT */
- is_neigh->metrics.metric_default = 0;
- is_neigh->metrics.metric_delay = METRICS_UNSUPPORTED;
- is_neigh->metrics.metric_expense = METRICS_UNSUPPORTED;
- is_neigh->metrics.metric_error = METRICS_UNSUPPORTED;
- listnode_add (lsp->tlv_data.is_neighs, is_neigh);
-
- }
-#endif
-
- /*
- * Then add tlvs related to circuits
- */
- for (ALL_LIST_ELEMENTS (area->circuit_list, node, nnode, circuit))
- {
- if (circuit->state != C_STATE_UP)
- continue;
-
- /*
- * Add IPv4 internal reachability of this circuit
- */
- if (circuit->ip_router && circuit->ip_addrs &&
- circuit->ip_addrs->count > 0)
- {
- if (lsp->tlv_data.ipv4_int_reachs == NULL)
- {
- lsp->tlv_data.ipv4_int_reachs = list_new ();
- lsp->tlv_data.ipv4_int_reachs->del = free_tlv;
- }
- for (ALL_LIST_ELEMENTS (circuit->ip_addrs, ipnode, ipnnode, ipv4))
- {
- ipreach =
- XCALLOC (MTYPE_ISIS_TLV, sizeof (struct ipv4_reachability));
- ipreach->metrics = circuit->metrics[level - 1];
- ipreach->prefix = ipv4->prefix;
- masklen2ip (ipv4->prefixlen, &ipreach->mask);
- listnode_add (lsp->tlv_data.ipv4_int_reachs, ipreach);
- }
- }
-#ifdef HAVE_IPV6
- /*
- * Add IPv6 reachability of this circuit
- */
- if (circuit->ipv6_router && circuit->ipv6_non_link &&
- circuit->ipv6_non_link->count > 0)
- {
- if (lsp->tlv_data.ipv6_reachs == NULL)
- {
- lsp->tlv_data.ipv6_reachs = list_new ();
- lsp->tlv_data.ipv6_reachs->del = free_tlv;
- }
- for (ALL_LIST_ELEMENTS (circuit->ipv6_non_link, ipnode,
- ipnnode, ipv6))
- {
- ip6reach =
- XCALLOC (MTYPE_ISIS_TLV, sizeof (struct ipv6_reachability));
- ip6reach->metric =
- htonl (circuit->metrics[level - 1].metric_default);
- ip6reach->control_info = 0;
- ip6reach->prefix_len = ipv6->prefixlen;
- memcpy (&ip6reach->prefix, ipv6->prefix.s6_addr,
- (ipv6->prefixlen + 7) / 8);
- listnode_add (lsp->tlv_data.ipv6_reachs, ip6reach);
- }
- }
-#endif /* HAVE_IPV6 */
-
- switch (circuit->circ_type)
- {
- case CIRCUIT_T_BROADCAST:
- if (level & circuit->circuit_is_type)
- {
- if (lsp->tlv_data.is_neighs == NULL)
- {
- lsp->tlv_data.is_neighs = list_new ();
- lsp->tlv_data.is_neighs->del = free_tlv;
- }
- is_neigh = XCALLOC (MTYPE_ISIS_TLV, sizeof (struct is_neigh));
- if (level == 1)
- memcpy (&is_neigh->neigh_id,
- circuit->u.bc.l1_desig_is, ISIS_SYS_ID_LEN + 1);
- else
- memcpy (&is_neigh->neigh_id,
- circuit->u.bc.l2_desig_is, ISIS_SYS_ID_LEN + 1);
- is_neigh->metrics = circuit->metrics[level - 1];
- listnode_add (lsp->tlv_data.is_neighs, is_neigh);
- }
- break;
- case CIRCUIT_T_P2P:
- nei = circuit->u.p2p.neighbor;
- if (nei && (level & nei->circuit_t))
- {
- if (lsp->tlv_data.is_neighs == NULL)
- {
- lsp->tlv_data.is_neighs = list_new ();
- lsp->tlv_data.is_neighs->del = free_tlv;
- }
- is_neigh = XCALLOC (MTYPE_ISIS_TLV, sizeof (struct is_neigh));
- memcpy (&is_neigh->neigh_id, nei->sysid, ISIS_SYS_ID_LEN);
- is_neigh->metrics = circuit->metrics[level - 1];
- listnode_add (lsp->tlv_data.is_neighs, is_neigh);
- }
- break;
- case CIRCUIT_T_STATIC_IN:
- zlog_warn ("lsp_area_create: unsupported circuit type");
- break;
- case CIRCUIT_T_STATIC_OUT:
- zlog_warn ("lsp_area_create: unsupported circuit type");
- break;
- case CIRCUIT_T_DA:
- zlog_warn ("lsp_area_create: unsupported circuit type");
- break;
- default:
- zlog_warn ("lsp_area_create: unknown circuit type");
- }
- }
-
- if (lsp->tlv_data.nlpids)
- tlv_add_nlpid (lsp->tlv_data.nlpids, lsp->pdu);
- if (lsp->tlv_data.hostname)
- tlv_add_dynamic_hostname (lsp->tlv_data.hostname, lsp->pdu);
- if (lsp->tlv_data.area_addrs && listcount (lsp->tlv_data.area_addrs) > 0)
- tlv_add_area_addrs (lsp->tlv_data.area_addrs, lsp->pdu);
- if (lsp->tlv_data.is_neighs && listcount (lsp->tlv_data.is_neighs) > 0)
- tlv_add_is_neighs (lsp->tlv_data.is_neighs, lsp->pdu);
- if (lsp->tlv_data.ipv4_int_reachs &&
- listcount (lsp->tlv_data.ipv4_int_reachs) > 0)
- tlv_add_ipv4_reachs (lsp->tlv_data.ipv4_int_reachs, lsp->pdu);
-#ifdef HAVE_IPV6
- if (lsp->tlv_data.ipv6_reachs && listcount (lsp->tlv_data.ipv6_reachs) > 0)
- tlv_add_ipv6_reachs (lsp->tlv_data.ipv6_reachs, lsp->pdu);
-#endif /* HAVE_IPV6 */
-
- lsp->lsp_header->pdu_len = htons (stream_get_endp (lsp->pdu));
-
- return;
-}
-#endif
-
#define FRAG_THOLD(S,T) \
((STREAM_SIZE(S)*T)/100)
@@ -1244,7 +1004,6 @@ lsp_next_frag (u_char frag_num, struct isis_lsp *lsp0, struct isis_area *area,
* Builds the LSP data part. This func creates a new frag whenever
* area->lsp_frag_threshold is exceeded.
*/
-#if 1
static void
lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
{
@@ -1536,72 +1295,6 @@ lsp_build_nonpseudo (struct isis_lsp *lsp, struct isis_area *area)
return;
}
-#endif
-
-#if 0 /* Old code? */
-static void
-build_lsp_data (struct isis_lsp *lsp, struct isis_area *area)
-{
- struct list *circuit_list = area->circuit_list;
- struct isis_circuit *circuit;
- u_char *tlv_ptr;
- struct is_neigh *is_neigh;
-
-
- /* add our nlpids */
- /* the 2 is for the TL plus 1 for the nlpid */
- tlv_ptr = lsppdu_realloc (lsp, MTYPE_ISIS_TLV, 3);
- *tlv_ptr = PROTOCOLS_SUPPORTED; /* Type */
- *(tlv_ptr + 1) = 1; /* one protocol */
-#ifdef HAVE_IPV6 /*dunno if its right */
- *(tlv_ptr + 2) = NLPID_IPV6;
-#else
- *(tlv_ptr + 2) = NLPID_IP;
-#endif /* HAVE_IPV6 */
-
- /* we should add our areas here
- * FIXME: we need to figure out which should be added? Adj? All? First? */
-
- /* first, lets add ourselves to the IS neighbours info */
- /* the 2 is for the TL plus 1 for the virtual field */
- tlv_ptr = lsppdu_realloc (lsp, MTYPE_ISIS_TLV, 3);
- *tlv_ptr = IS_NEIGHBOURS; /* Type */
- *(tlv_ptr + 2) = 0; /* virtual is zero */
- lsp->tlv_data.is_neighs = list_new (); /* new list of is_neighbours */
- /* assign space for the is_neigh at the pdu end */
- is_neigh = (struct is_neigh *) lsppdu_realloc (lsp, MTYPE_ISIS_TLV,
- sizeof (struct is_neigh));
- /* add this node to our list */
- listnode_add (lsp->tlv_data.is_neighs, is_neigh);
- /* FIXME: Do we need our designated address here? */
- memcpy (&is_neigh->neigh_id, isis->sysid, ISIS_SYS_ID_LEN + 1);
- /* FIXME: Where should we really get our own LSPs metrics from? */
- circuit = (struct isis_circuit *) listhead (circuit_list);
- /* is_neigh->metrics = circuit->metrics[lsp->level -1]; */
- /* Length */
- *(tlv_ptr + 1) =
- (lsp->tlv_data.is_neighs->count * sizeof (struct is_neigh) + 1);
-
- /* FIXME: scan for adjencecies and add them */
-
- /* FIXME: add reachability info */
-
- /* adding dynamic hostname if needed */
- if (area->dynhostname)
- {
- tlv_ptr = lsppdu_realloc (lsp, MTYPE_ISIS_TLV, 2); /* the 2 is for the TL */
- *tlv_ptr = DYNAMIC_HOSTNAME; /* Type */
- *(tlv_ptr + 1) = strlen (unix_hostname ()); /* Length */
- lsp->tlv_data.hostname = (struct hostname *)
- (lsppdu_realloc (lsp, MTYPE_ISIS_TLV,
- /* the -1 is to fit the length in the struct */
- strlen (unix_hostname ())) - 1);
- memcpy (lsp->tlv_data.hostname->name, unix_hostname (),
- strlen (unix_hostname ()));
- }
-
-}
-#endif /* 0 */
/*
* 7.3.7 Generation on non-pseudonode LSPs
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 87f37901..591b4912 100644
--- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c
@@ -2452,19 +2452,6 @@ send_l2_psnp (struct thread *thread)
return retval;
}
-/* FIXME: Not used any more? */
-/* static void
-build_link_state (struct isis_lsp *lsp, struct isis_circuit *circuit,
- struct stream *stream)
-{
- unsigned long length;
-
- stream_put (stream, lsp->pdu, ntohs (lsp->lsp_header->pdu_len));
- length = stream_get_endp (stream);
-
- return;
-} */
-
/*
* ISO 10589 - 7.3.14.3
*/
@@ -2606,91 +2593,3 @@ ack_lsp (struct isis_link_state_hdr *hdr, struct isis_circuit *circuit,
return retval;
}
-#if 0
-/*
- * ISH PDU Processing
- */
-
- /*
- * Let's first check if the local and remote system have any common area
- * addresses
- */
-if (area_match (tlvs.area_addrs, isis->man_area_addrs) == 0)
- {
- if (circuit->circuit_t == IS_LEVEL_2)
- {
- /* do as in table 8 (p. 40) */
- switch (circuit_type)
- {
- case IS_LEVEL_1:
- if (adj->adj_state != ISIS_ADJ_UP)
- {
- /* Reject */
- zlog_warn ("areaMismatch");
- retval = ISIS_WARNING;
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL1)
- {
- isis_adj_state_change (adj, ISIS_ADJ_DOWN, "Area Mismatch",
- circuit->adjdb);
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL1AND2 ||
- adj->adj_usage == ISIS_ADJ_LEVEL2)
- {
- isis_adj_state_change (adj, ISIS_ADJ_DOWN, "Wrong System",
- circuit->adjdb);
- }
- break;
- case IS_LEVEL_2:
- if (adj->adj_state != ISIS_ADJ_UP)
- {
- isis_adj_state_change (adj, ISIS_ADJ_UP, NULL,
- circuit->adjdb);
- adj->adj_usage = ISIS_ADJ_LEVEL2;
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL1 ||
- adj->adj_usage == ISIS_ADJ_LEVEL1AND2)
- {
- isis_adj_state_change (adj, ISIS_ADJ_DOWN, "Wrong System",
- circuit->adjdb);
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL2)
- {
- ; /* Accept */
- }
- break;
- case IS_LEVEL_1_AND_2:
- if (adj->adj_state != ISIS_ADJ_UP)
- {
- isis_adj_state_change (adj, ISIS_ADJ_UP, NULL,
- circuit->adjdb);
- adj->adj_usage = ISIS_ADJ_LEVEL2;
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL1)
- {
- isis_adj_state_change (adj, ISIS_ADJ_DOWN, "Wrong System",
- circuit->adjdb);
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL1AND2)
- {
- isis_adj_state_change (adj, ISIS_ADJ_DOWN, "Area Mismatch",
- circuit->adjdb);
- }
- else if (adj->adj_usage == ISIS_ADJ_LEVEL2)
- {
- ; /* Accept */
- }
- break;
- }
- goto mismatch;
- }
- else
- {
- isis_delete_adj (adj, circuit->adjdb);
- zlog_warn ("areaMismatch");
- return ISIS_WARNING;
- }
- }
-
-mismatch:
-#endif
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index ba7acbfb..1a5a2db0 100644
--- a/isisd/isis_spf.c
+++ b/isisd/isis_spf.c
@@ -58,28 +58,6 @@ extern struct host host;
int isis_run_spf_l1 (struct thread *thread);
int isis_run_spf_l2 (struct thread *thread);
-#if 0
-/* performace issue ???? HT: Old or new code? */
-static void
-union_adjlist (struct list *target, struct list *source)
-{
- struct isis_adjacency *adj, *adj2;
- struct listnode *node, *node2;
-
- zlog_debug ("Union adjlist!");
- for (ALL_LIST_ELEMENTS_RO (source, node, adj))
- {
- /* lookup adjacency in the source list */
- for (ALL_LIST_ELEMENTS_RO (target, node2, adj2))
- if (adj == adj2)
- break;
-
- if (!node2)
- listnode_add (target, adj);
- }
-}
-#endif
-
/* 7.2.7 */
static void
remove_excess_adjs (struct list *adjs)