diff options
Diffstat (limited to 'ospf6d/ospf6_message.c')
| -rw-r--r-- | ospf6d/ospf6_message.c | 257 |
1 files changed, 134 insertions, 123 deletions
diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c index b7f261fcf9..14b02dac79 100644 --- a/ospf6d/ospf6_message.c +++ b/ospf6d/ospf6_message.c @@ -9,7 +9,7 @@ #include "log.h" #include "vty.h" #include "command.h" -#include "thread.h" +#include "frrevent.h" #include "linklist.h" #include "lib_errors.h" #include "checksum.h" @@ -410,26 +410,29 @@ static void ospf6_hello_recv(struct in6_addr *src, struct in6_addr *dst, /* HelloInterval check */ if (ntohs(hello->hello_interval) != oi->hello_interval) { zlog_warn( - "VRF %s: I/F %s HelloInterval mismatch: (my %d, rcvd %d)", - oi->interface->vrf->name, oi->interface->name, - oi->hello_interval, ntohs(hello->hello_interval)); + "VRF %s: I/F %s HelloInterval mismatch from %pI6 (%pI4): (my %d, rcvd %d)", + oi->interface->vrf->name, oi->interface->name, src, + &oh->router_id, oi->hello_interval, + ntohs(hello->hello_interval)); return; } /* RouterDeadInterval check */ if (ntohs(hello->dead_interval) != oi->dead_interval) { zlog_warn( - "VRF %s: I/F %s DeadInterval mismatch: (my %d, rcvd %d)", - oi->interface->vrf->name, oi->interface->name, - oi->dead_interval, ntohs(hello->dead_interval)); + "VRF %s: I/F %s DeadInterval mismatch from %pI6 (%pI4): (my %d, rcvd %d)", + oi->interface->vrf->name, oi->interface->name, src, + &oh->router_id, oi->dead_interval, + ntohs(hello->dead_interval)); return; } /* E-bit check */ - if (OSPF6_OPT_ISSET(hello->options, OSPF6_OPT_E) - != OSPF6_OPT_ISSET(oi->area->options, OSPF6_OPT_E)) { - zlog_warn("VRF %s: IF %s E-bit mismatch", - oi->interface->vrf->name, oi->interface->name); + if (OSPF6_OPT_ISSET(hello->options, OSPF6_OPT_E) != + OSPF6_OPT_ISSET(oi->area->options, OSPF6_OPT_E)) { + zlog_warn("VRF %s: IF %s E-bit mismatch from %pI6 (%pI4)", + oi->interface->vrf->name, oi->interface->name, src, + &oh->router_id); return; } @@ -532,9 +535,9 @@ static void ospf6_hello_recv(struct in6_addr *src, struct in6_addr *dst, oi->hello_in++; /* Execute neighbor events */ - thread_execute(master, hello_received, on, 0); + event_execute(master, hello_received, on, 0); if (twoway) - thread_execute(master, twoway_received, on, 0); + event_execute(master, twoway_received, on, 0); else { if (OSPF6_GR_IS_ACTIVE_HELPER(on)) { if (IS_DEBUG_OSPF6_GR) @@ -550,7 +553,7 @@ static void ospf6_hello_recv(struct in6_addr *src, struct in6_addr *dst, * receives one_way hellow when it acts as HELPER for * that specific neighbor. */ - thread_execute(master, oneway_received, on, 0); + event_execute(master, oneway_received, on, 0); } } @@ -591,9 +594,9 @@ static void ospf6_hello_recv(struct in6_addr *src, struct in6_addr *dst, /* Schedule interface events */ if (backupseen) - thread_add_event(master, backup_seen, oi, 0, NULL); + event_add_event(master, backup_seen, oi, 0, NULL); if (neighborchange) - thread_add_event(master, neighbor_change, oi, 0, NULL); + event_add_event(master, neighbor_change, oi, 0, NULL); if (neighbor_ifindex_change && on->state == OSPF6_NEIGHBOR_FULL) OSPF6_ROUTER_LSA_SCHEDULE(oi->area); @@ -621,7 +624,7 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh, return; case OSPF6_NEIGHBOR_INIT: - thread_execute(master, twoway_received, on, 0); + event_execute(master, twoway_received, on, 0); if (on->state != OSPF6_NEIGHBOR_EXSTART) { if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV_HDR)) zlog_debug( @@ -637,7 +640,7 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh, && !CHECK_FLAG(dbdesc->bits, OSPF6_DBDESC_IBIT) && ntohl(dbdesc->seqnum) == on->dbdesc_seqnum) { /* execute NegotiationDone */ - thread_execute(master, negotiation_done, on, 0); + event_execute(master, negotiation_done, on, 0); /* Record neighbor options */ memcpy(on->options, dbdesc->options, @@ -664,32 +667,33 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh, zlog_warn( "DbDesc recv: Master/Slave bit mismatch Nbr %s", on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } if (CHECK_FLAG(dbdesc->bits, OSPF6_DBDESC_IBIT)) { zlog_warn("DbDesc recv: Initialize bit mismatch Nbr %s", on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } if (memcmp(on->options, dbdesc->options, sizeof(on->options))) { zlog_warn("DbDesc recv: Option field mismatch Nbr %s", on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } if (ntohl(dbdesc->seqnum) != on->dbdesc_seqnum) { zlog_warn( - "DbDesc recv: Sequence number mismatch Nbr %s (%#lx expected)", - on->name, (unsigned long)on->dbdesc_seqnum); - thread_add_event(master, seqnumber_mismatch, on, 0, + "DbDesc recv: Sequence number mismatch Nbr %s (received %#lx, %#lx expected)", + on->name, (unsigned long)ntohl(dbdesc->seqnum), + (unsigned long)on->dbdesc_seqnum); + event_add_event(master, seqnumber_mismatch, on, 0, NULL); return; } @@ -710,7 +714,7 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh, zlog_warn( "DbDesc recv: Not duplicate dbdesc in state %s Nbr %s", ospf6_neighbor_state_str[on->state], on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, NULL); + event_add_event(master, seqnumber_mismatch, on, 0, NULL); return; default: @@ -754,8 +758,8 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh, zlog_debug( "SeqNumMismatch (E-bit mismatch), discard"); ospf6_lsa_delete(his); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } @@ -783,19 +787,19 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh, /* schedule send lsreq */ if (on->request_list->count) - thread_add_event(master, ospf6_lsreq_send, on, 0, - &on->thread_send_lsreq); + event_add_event(master, ospf6_lsreq_send, on, 0, + &on->thread_send_lsreq); - THREAD_OFF(on->thread_send_dbdesc); + EVENT_OFF(on->thread_send_dbdesc); /* More bit check */ if (!CHECK_FLAG(dbdesc->bits, OSPF6_DBDESC_MBIT) && !CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT)) - thread_add_event(master, exchange_done, on, 0, - &on->thread_exchange_done); + event_add_event(master, exchange_done, on, 0, + &on->thread_exchange_done); else { - thread_add_event(master, ospf6_dbdesc_send_newone, on, 0, - &on->thread_send_dbdesc); + event_add_event(master, ospf6_dbdesc_send_newone, on, 0, + &on->thread_send_dbdesc); } /* save last received dbdesc */ @@ -824,7 +828,7 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, return; case OSPF6_NEIGHBOR_INIT: - thread_execute(master, twoway_received, on, 0); + event_execute(master, twoway_received, on, 0); if (on->state != OSPF6_NEIGHBOR_EXSTART) { if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV_HDR)) zlog_debug( @@ -851,7 +855,7 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, on->dbdesc_seqnum = ntohl(dbdesc->seqnum); /* schedule NegotiationDone */ - thread_execute(master, negotiation_done, on, 0); + event_execute(master, negotiation_done, on, 0); /* Record neighbor options */ memcpy(on->options, dbdesc->options, @@ -871,9 +875,9 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV_HDR)) zlog_debug( "Duplicated dbdesc causes retransmit"); - THREAD_OFF(on->thread_send_dbdesc); - thread_add_event(master, ospf6_dbdesc_send, on, 0, - &on->thread_send_dbdesc); + EVENT_OFF(on->thread_send_dbdesc); + event_add_event(master, ospf6_dbdesc_send, on, 0, + &on->thread_send_dbdesc); return; } @@ -881,8 +885,8 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, zlog_warn( "DbDesc slave recv: Master/Slave bit mismatch Nbr %s", on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } @@ -890,8 +894,8 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, zlog_warn( "DbDesc slave recv: Initialize bit mismatch Nbr %s", on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } @@ -899,16 +903,17 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, zlog_warn( "DbDesc slave recv: Option field mismatch Nbr %s", on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } if (ntohl(dbdesc->seqnum) != on->dbdesc_seqnum + 1) { zlog_warn( - "DbDesc slave recv: Sequence number mismatch Nbr %s (%#lx expected)", - on->name, (unsigned long)on->dbdesc_seqnum + 1); - thread_add_event(master, seqnumber_mismatch, on, 0, + "DbDesc slave recv: Sequence number mismatch Nbr %s (received %#lx, %#lx expected)", + on->name, (unsigned long)ntohl(dbdesc->seqnum), + (unsigned long)on->dbdesc_seqnum + 1); + event_add_event(master, seqnumber_mismatch, on, 0, NULL); return; } @@ -923,16 +928,16 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV_HDR)) zlog_debug( "Duplicated dbdesc causes retransmit"); - THREAD_OFF(on->thread_send_dbdesc); - thread_add_event(master, ospf6_dbdesc_send, on, 0, - &on->thread_send_dbdesc); + EVENT_OFF(on->thread_send_dbdesc); + event_add_event(master, ospf6_dbdesc_send, on, 0, + &on->thread_send_dbdesc); return; } zlog_warn( "DbDesc slave recv: Not duplicate dbdesc in state %s Nbr %s", ospf6_neighbor_state_str[on->state], on->name); - thread_add_event(master, seqnumber_mismatch, on, 0, NULL); + event_add_event(master, seqnumber_mismatch, on, 0, NULL); return; default: @@ -972,8 +977,8 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV)) zlog_debug("E-bit mismatch with LSA Headers"); ospf6_lsa_delete(his); - thread_add_event(master, seqnumber_mismatch, on, 0, - NULL); + event_add_event(master, seqnumber_mismatch, on, 0, + NULL); return; } @@ -994,12 +999,12 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh, /* schedule send lsreq */ if (on->request_list->count) - thread_add_event(master, ospf6_lsreq_send, on, 0, - &on->thread_send_lsreq); + event_add_event(master, ospf6_lsreq_send, on, 0, + &on->thread_send_lsreq); - THREAD_OFF(on->thread_send_dbdesc); - thread_add_event(master, ospf6_dbdesc_send_newone, on, 0, - &on->thread_send_dbdesc); + EVENT_OFF(on->thread_send_dbdesc); + event_add_event(master, ospf6_dbdesc_send_newone, on, 0, + &on->thread_send_dbdesc); /* save last received dbdesc */ memcpy(&on->dbdesc_last, dbdesc, sizeof(struct ospf6_dbdesc)); @@ -1121,7 +1126,7 @@ static void ospf6_lsreq_recv(struct in6_addr *src, struct in6_addr *dst, "Can't find requested lsa [%s Id:%pI4 Adv:%pI4] send badLSReq", ospf6_lstype_name(e->type), &e->id, &e->adv_router); - thread_add_event(master, bad_lsreq, on, 0, NULL); + event_add_event(master, bad_lsreq, on, 0, NULL); return; } @@ -1131,9 +1136,9 @@ static void ospf6_lsreq_recv(struct in6_addr *src, struct in6_addr *dst, assert(p == OSPF6_MESSAGE_END(oh)); /* schedule send lsupdate */ - THREAD_OFF(on->thread_send_lsupdate); - thread_add_event(master, ospf6_lsupdate_send_neighbor, on, 0, - &on->thread_send_lsupdate); + EVENT_OFF(on->thread_send_lsupdate); + event_add_event(master, ospf6_lsupdate_send_neighbor, on, 0, + &on->thread_send_lsupdate); } /* Verify, that the specified memory area contains exactly N valid IPv6 @@ -1537,20 +1542,25 @@ static int ospf6_rxpacket_examin(struct ospf6_interface *oi, struct ospf6_header *oh, const unsigned bytesonwire) { + struct ospf6_neighbor *on; if (MSG_OK != ospf6_packet_examin(oh, bytesonwire)) return MSG_NG; + on = ospf6_neighbor_lookup(oh->router_id, oi); + /* Area-ID check */ if (oh->area_id != oi->area->area_id) { if (oh->area_id == OSPF_AREA_BACKBONE) zlog_warn( - "VRF %s: I/F %s Message may be via Virtual Link: not supported", - oi->interface->vrf->name, oi->interface->name); + "VRF %s: I/F %s (%s, Router-ID: %pI4) Message may be via Virtual Link: not supported", + oi->interface->vrf->name, oi->interface->name, + on ? on->name : "null", &oh->router_id); else zlog_warn( - "VRF %s: I/F %s Area-ID mismatch (my %pI4, rcvd %pI4)", + "VRF %s: I/F %s (%s, Router-ID: %pI4) Area-ID mismatch (my %pI4, rcvd %pI4)", oi->interface->vrf->name, oi->interface->name, + on ? on->name : "null", &oh->router_id, &oi->area->area_id, &oh->area_id); return MSG_NG; } @@ -1558,9 +1568,10 @@ static int ospf6_rxpacket_examin(struct ospf6_interface *oi, /* Instance-ID check */ if (oh->instance_id != oi->instance_id) { zlog_warn( - "VRF %s: I/F %s Instance-ID mismatch (my %u, rcvd %u)", + "VRF %s: I/F %s (%s, Router-ID: %pI4) Instance-ID mismatch (my %u, rcvd %u)", oi->interface->vrf->name, oi->interface->name, - oi->instance_id, oh->instance_id); + on ? on->name : "null", &oh->router_id, oi->instance_id, + oh->instance_id); return MSG_NG; } @@ -1896,18 +1907,18 @@ static int ospf6_read_helper(int sockfd, struct ospf6 *ospf6) return OSPF6_READ_CONTINUE; } -void ospf6_receive(struct thread *thread) +void ospf6_receive(struct event *thread) { int sockfd; struct ospf6 *ospf6; int count = 0; /* add next read thread */ - ospf6 = THREAD_ARG(thread); - sockfd = THREAD_FD(thread); + ospf6 = EVENT_ARG(thread); + sockfd = EVENT_FD(thread); - thread_add_read(master, ospf6_receive, ospf6, ospf6->fd, - &ospf6->t_ospf6_receive); + event_add_read(master, ospf6_receive, ospf6, ospf6->fd, + &ospf6->t_ospf6_receive); while (count < ospf6->write_oi_count) { count++; @@ -2071,9 +2082,9 @@ static uint16_t ospf6_make_hello(struct ospf6_interface *oi, struct stream *s) return length; } -static void ospf6_write(struct thread *thread) +static void ospf6_write(struct event *thread) { - struct ospf6 *ospf6 = THREAD_ARG(thread); + struct ospf6 *ospf6 = EVENT_ARG(thread); struct ospf6_interface *oi; struct ospf6_header *oh; struct ospf6_packet *op; @@ -2221,17 +2232,17 @@ static void ospf6_write(struct thread *thread) /* If packets still remain in queue, call write thread. */ if (!list_isempty(ospf6->oi_write_q)) - thread_add_write(master, ospf6_write, ospf6, ospf6->fd, - &ospf6->t_write); + event_add_write(master, ospf6_write, ospf6, ospf6->fd, + &ospf6->t_write); } -void ospf6_hello_send(struct thread *thread) +void ospf6_hello_send(struct event *thread) { struct ospf6_interface *oi; struct ospf6_packet *op; uint16_t length = OSPF6_HEADER_SIZE; - oi = (struct ospf6_interface *)THREAD_ARG(thread); + oi = (struct ospf6_interface *)EVENT_ARG(thread); if (oi->state <= OSPF6_INTERFACE_DOWN) { if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_HELLO, SEND_HDR)) @@ -2268,8 +2279,8 @@ void ospf6_hello_send(struct thread *thread) ospf6_packet_add_top(oi, op); /* set next thread */ - thread_add_timer(master, ospf6_hello_send, oi, oi->hello_interval, - &oi->thread_send_hello); + event_add_timer(master, ospf6_hello_send, oi, oi->hello_interval, + &oi->thread_send_hello); OSPF6_MESSAGE_WRITE_ON(oi); } @@ -2322,13 +2333,13 @@ static uint16_t ospf6_make_dbdesc(struct ospf6_neighbor *on, struct stream *s) return length; } -void ospf6_dbdesc_send(struct thread *thread) +void ospf6_dbdesc_send(struct event *thread) { struct ospf6_neighbor *on; uint16_t length = OSPF6_HEADER_SIZE; struct ospf6_packet *op; - on = (struct ospf6_neighbor *)THREAD_ARG(thread); + on = (struct ospf6_neighbor *)EVENT_ARG(thread); if (on->state < OSPF6_NEIGHBOR_EXSTART) { if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_DBDESC, SEND)) @@ -2340,9 +2351,9 @@ void ospf6_dbdesc_send(struct thread *thread) /* set next thread if master */ if (CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT)) - thread_add_timer(master, ospf6_dbdesc_send, on, - on->ospf6_if->rxmt_interval, - &on->thread_send_dbdesc); + event_add_timer(master, ospf6_dbdesc_send, on, + on->ospf6_if->rxmt_interval, + &on->thread_send_dbdesc); op = ospf6_packet_new(on->ospf6_if->ifmtu); ospf6_make_header(OSPF6_MESSAGE_TYPE_DBDESC, on->ospf6_if, op->s); @@ -2365,13 +2376,13 @@ void ospf6_dbdesc_send(struct thread *thread) OSPF6_MESSAGE_WRITE_ON(on->ospf6_if); } -void ospf6_dbdesc_send_newone(struct thread *thread) +void ospf6_dbdesc_send_newone(struct event *thread) { struct ospf6_neighbor *on; struct ospf6_lsa *lsa, *lsanext; unsigned int size = 0; - on = (struct ospf6_neighbor *)THREAD_ARG(thread); + on = (struct ospf6_neighbor *)EVENT_ARG(thread); ospf6_lsdb_remove_all(on->dbdesc_list); /* move LSAs from summary_list to dbdesc_list (within neighbor @@ -2407,10 +2418,10 @@ void ospf6_dbdesc_send_newone(struct thread *thread) if (!CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT) && /* Slave */ !CHECK_FLAG(on->dbdesc_last.bits, OSPF6_DBDESC_MBIT) && !CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT)) - thread_add_event(master, exchange_done, on, 0, - &on->thread_exchange_done); + event_add_event(master, exchange_done, on, 0, + &on->thread_exchange_done); - thread_execute(master, ospf6_dbdesc_send, on, 0); + event_execute(master, ospf6_dbdesc_send, on, 0); } static uint16_t ospf6_make_lsreq(struct ospf6_neighbor *on, struct stream *s) @@ -2487,13 +2498,13 @@ static uint16_t ospf6_make_lsack_neighbor(struct ospf6_neighbor *on, return length; } -void ospf6_lsreq_send(struct thread *thread) +void ospf6_lsreq_send(struct event *thread) { struct ospf6_neighbor *on; struct ospf6_packet *op; uint16_t length = OSPF6_HEADER_SIZE; - on = (struct ospf6_neighbor *)THREAD_ARG(thread); + on = (struct ospf6_neighbor *)EVENT_ARG(thread); /* LSReq will be sent only in ExStart or Loading */ if (on->state != OSPF6_NEIGHBOR_EXCHANGE @@ -2507,7 +2518,7 @@ void ospf6_lsreq_send(struct thread *thread) /* schedule loading_done if request list is empty */ if (on->request_list->count == 0) { - thread_add_event(master, loading_done, on, 0, NULL); + event_add_event(master, loading_done, on, 0, NULL); return; } @@ -2540,9 +2551,9 @@ void ospf6_lsreq_send(struct thread *thread) /* set next thread */ if (on->request_list->count != 0) { - thread_add_timer(master, ospf6_lsreq_send, on, - on->ospf6_if->rxmt_interval, - &on->thread_send_lsreq); + event_add_timer(master, ospf6_lsreq_send, on, + on->ospf6_if->rxmt_interval, + &on->thread_send_lsreq); } } @@ -2581,7 +2592,7 @@ static void ospf6_send_lsupdate(struct ospf6_neighbor *on, listnode_add(oi->area->ospf6->oi_write_q, oi); oi->on_write_q = 1; } - thread_execute(master, ospf6_write, oi->area->ospf6, 0); + event_execute(master, ospf6_write, oi->area->ospf6, 0); } else OSPF6_MESSAGE_WRITE_ON(oi); } @@ -2665,14 +2676,14 @@ static uint16_t ospf6_make_ls_retrans_list(struct ospf6_neighbor *on, return length; } -void ospf6_lsupdate_send_neighbor(struct thread *thread) +void ospf6_lsupdate_send_neighbor(struct event *thread) { struct ospf6_neighbor *on; struct ospf6_packet *op; uint16_t length = OSPF6_HEADER_SIZE; int lsa_cnt = 0; - on = (struct ospf6_neighbor *)THREAD_ARG(thread); + on = (struct ospf6_neighbor *)EVENT_ARG(thread); if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_LSUPDATE, SEND_HDR)) zlog_debug("LSUpdate to neighbor %s", on->name); @@ -2723,12 +2734,12 @@ void ospf6_lsupdate_send_neighbor(struct thread *thread) ospf6_packet_free(op); if (on->lsupdate_list->count != 0) { - thread_add_event(master, ospf6_lsupdate_send_neighbor, on, 0, - &on->thread_send_lsupdate); + event_add_event(master, ospf6_lsupdate_send_neighbor, on, 0, + &on->thread_send_lsupdate); } else if (on->retrans_list->count != 0) { - thread_add_timer(master, ospf6_lsupdate_send_neighbor, on, - on->ospf6_if->rxmt_interval, - &on->thread_send_lsupdate); + event_add_timer(master, ospf6_lsupdate_send_neighbor, on, + on->ospf6_if->rxmt_interval, + &on->thread_send_lsupdate); } } @@ -2800,14 +2811,14 @@ static uint16_t ospf6_make_lsupdate_interface(struct ospf6_interface *oi, return length; } -void ospf6_lsupdate_send_interface(struct thread *thread) +void ospf6_lsupdate_send_interface(struct event *thread) { struct ospf6_interface *oi; struct ospf6_packet *op; uint16_t length = OSPF6_HEADER_SIZE; int lsa_cnt = 0; - oi = (struct ospf6_interface *)THREAD_ARG(thread); + oi = (struct ospf6_interface *)EVENT_ARG(thread); if (oi->state <= OSPF6_INTERFACE_WAITING) { if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_LSUPDATE, @@ -2836,18 +2847,18 @@ void ospf6_lsupdate_send_interface(struct thread *thread) ospf6_packet_free(op); if (oi->lsupdate_list->count > 0) { - thread_add_event(master, ospf6_lsupdate_send_interface, oi, 0, - &oi->thread_send_lsupdate); + event_add_event(master, ospf6_lsupdate_send_interface, oi, 0, + &oi->thread_send_lsupdate); } } -void ospf6_lsack_send_neighbor(struct thread *thread) +void ospf6_lsack_send_neighbor(struct event *thread) { struct ospf6_neighbor *on; struct ospf6_packet *op; uint16_t length = OSPF6_HEADER_SIZE; - on = (struct ospf6_neighbor *)THREAD_ARG(thread); + on = (struct ospf6_neighbor *)EVENT_ARG(thread); if (on->state < OSPF6_NEIGHBOR_EXCHANGE) { if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_LSACK, SEND_HDR)) @@ -2882,8 +2893,8 @@ void ospf6_lsack_send_neighbor(struct thread *thread) OSPF6_MESSAGE_WRITE_ON(on->ospf6_if); if (on->lsack_list->count > 0) - thread_add_event(master, ospf6_lsack_send_neighbor, on, 0, - &on->thread_send_lsack); + event_add_event(master, ospf6_lsack_send_neighbor, on, 0, + &on->thread_send_lsack); } static uint16_t ospf6_make_lsack_interface(struct ospf6_interface *oi, @@ -2898,9 +2909,9 @@ static uint16_t ospf6_make_lsack_interface(struct ospf6_interface *oi, > ospf6_packet_max(oi)) { /* if we run out of packet size/space here, better to try again soon. */ - THREAD_OFF(oi->thread_send_lsack); - thread_add_event(master, ospf6_lsack_send_interface, oi, - 0, &oi->thread_send_lsack); + EVENT_OFF(oi->thread_send_lsack); + event_add_event(master, ospf6_lsack_send_interface, oi, + 0, &oi->thread_send_lsack); ospf6_lsa_unlock(lsa); if (lsanext) @@ -2917,13 +2928,13 @@ static uint16_t ospf6_make_lsack_interface(struct ospf6_interface *oi, return length; } -void ospf6_lsack_send_interface(struct thread *thread) +void ospf6_lsack_send_interface(struct event *thread) { struct ospf6_interface *oi; struct ospf6_packet *op; uint16_t length = OSPF6_HEADER_SIZE; - oi = (struct ospf6_interface *)THREAD_ARG(thread); + oi = (struct ospf6_interface *)EVENT_ARG(thread); if (oi->state <= OSPF6_INTERFACE_WAITING) { if (IS_OSPF6_DEBUG_MESSAGE(OSPF6_MESSAGE_TYPE_LSACK, SEND_HDR)) @@ -2964,8 +2975,8 @@ void ospf6_lsack_send_interface(struct thread *thread) OSPF6_MESSAGE_WRITE_ON(oi); if (oi->lsack_list->count > 0) - thread_add_event(master, ospf6_lsack_send_interface, oi, 0, - &oi->thread_send_lsack); + event_add_event(master, ospf6_lsack_send_interface, oi, 0, + &oi->thread_send_lsack); } /* Commands */ |
