mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 06:59:21 +00:00
Merge branch '-isisd-simpl' into stable/2.0
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
commit
d987f2339d
@ -606,6 +606,18 @@ isis_circuit_stream(struct isis_circuit *circuit, struct stream **stream)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
isis_circuit_prepare (struct isis_circuit *circuit)
|
||||
{
|
||||
#ifdef GNU_LINUX
|
||||
THREAD_READ_ON (master, circuit->t_read, isis_receive, circuit,
|
||||
circuit->fd);
|
||||
#else
|
||||
THREAD_TIMER_MSEC_ON (master, circuit->t_read, isis_receive, circuit,
|
||||
listcount (circuit->area->circuit_list) * 100);
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
isis_circuit_up (struct isis_circuit *circuit)
|
||||
{
|
||||
@ -715,13 +727,7 @@ isis_circuit_up (struct isis_circuit *circuit)
|
||||
isis_circuit_stream(circuit, &circuit->rcv_stream);
|
||||
isis_circuit_stream(circuit, &circuit->snd_stream);
|
||||
|
||||
#ifdef GNU_LINUX
|
||||
THREAD_READ_ON (master, circuit->t_read, isis_receive, circuit,
|
||||
circuit->fd);
|
||||
#else
|
||||
THREAD_TIMER_MSEC_ON (master, circuit->t_read, isis_receive, circuit,
|
||||
listcount (circuit->area->circuit_list) * 100);
|
||||
#endif
|
||||
isis_circuit_prepare (circuit);
|
||||
|
||||
circuit->lsp_queue = list_new ();
|
||||
circuit->lsp_queue_last_cleared = time (NULL);
|
||||
|
@ -168,6 +168,7 @@ void isis_circuit_add_addr (struct isis_circuit *circuit,
|
||||
struct connected *conn);
|
||||
void isis_circuit_del_addr (struct isis_circuit *circuit,
|
||||
struct connected *conn);
|
||||
void isis_circuit_prepare (struct isis_circuit *circuit);
|
||||
int isis_circuit_up (struct isis_circuit *circuit);
|
||||
void isis_circuit_down (struct isis_circuit *);
|
||||
void circuit_update_nlpids (struct isis_circuit *circuit);
|
||||
|
@ -2134,41 +2134,6 @@ isis_handle_pdu (struct isis_circuit *circuit, u_char * ssnpa)
|
||||
return retval;
|
||||
}
|
||||
|
||||
#ifdef GNU_LINUX
|
||||
int
|
||||
isis_receive (struct thread *thread)
|
||||
{
|
||||
struct isis_circuit *circuit;
|
||||
u_char ssnpa[ETH_ALEN];
|
||||
int retval;
|
||||
|
||||
/*
|
||||
* Get the circuit
|
||||
*/
|
||||
circuit = THREAD_ARG (thread);
|
||||
assert (circuit);
|
||||
|
||||
isis_circuit_stream(circuit, &circuit->rcv_stream);
|
||||
|
||||
retval = circuit->rx (circuit, ssnpa);
|
||||
circuit->t_read = NULL;
|
||||
|
||||
if (retval == ISIS_OK)
|
||||
retval = isis_handle_pdu (circuit, ssnpa);
|
||||
|
||||
/*
|
||||
* prepare for next packet.
|
||||
*/
|
||||
if (!circuit->is_passive)
|
||||
{
|
||||
THREAD_READ_ON (master, circuit->t_read, isis_receive, circuit,
|
||||
circuit->fd);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
#else
|
||||
int
|
||||
isis_receive (struct thread *thread)
|
||||
{
|
||||
@ -2195,18 +2160,11 @@ isis_receive (struct thread *thread)
|
||||
* prepare for next packet.
|
||||
*/
|
||||
if (!circuit->is_passive)
|
||||
{
|
||||
circuit->t_read = thread_add_timer_msec (master, isis_receive, circuit,
|
||||
listcount
|
||||
(circuit->area->circuit_list) *
|
||||
100);
|
||||
}
|
||||
isis_circuit_prepare (circuit);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* filling of the fixed isis header */
|
||||
void
|
||||
fill_fixed_hdr (struct isis_fixed_hdr *hdr, u_char pdu_type)
|
||||
|
Loading…
Reference in New Issue
Block a user