diff options
Diffstat (limited to 'ospf6d/ospf6_message.c')
| -rw-r--r-- | ospf6d/ospf6_message.c | 239 |
1 files changed, 95 insertions, 144 deletions
diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c index b0e94288b4..87c905af3f 100644 --- a/ospf6d/ospf6_message.c +++ b/ospf6d/ospf6_message.c @@ -13,10 +13,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with GNU Zebra; see the file COPYING. If not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU General Public License along + * with this program; see the file COPYING; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include <zebra.h> @@ -352,9 +351,9 @@ ospf6_hello_recv (struct in6_addr *src, struct in6_addr *dst, /* Schedule interface events */ if (backupseen) - thread_add_event (master, backup_seen, oi, 0); + thread_add_event (master, backup_seen, oi, 0, NULL); if (neighborchange) - thread_add_event (master, neighbor_change, oi, 0); + thread_add_event (master, neighbor_change, oi, 0, NULL); if (neighbor_ifindex_change && on->state == OSPF6_NEIGHBOR_FULL) OSPF6_ROUTER_LSA_SCHEDULE (oi->area); @@ -428,7 +427,7 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, { if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Master/Slave bit mismatch"); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -436,7 +435,7 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, { if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Initialize bit mismatch"); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -444,7 +443,7 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, { if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Option field mismatch"); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -453,7 +452,7 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Sequence number mismatch (%#lx expected)", (u_long) on->dbdesc_seqnum); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } break; @@ -471,7 +470,7 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Not duplicate dbdesc in state %s", ospf6_neighbor_state_str[on->state]); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; default: @@ -517,7 +516,7 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("SeqNumMismatch (E-bit mismatch), discard"); ospf6_lsa_delete (his); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -549,19 +548,20 @@ ospf6_dbdesc_recv_master (struct ospf6_header *oh, on->dbdesc_seqnum ++; /* schedule send lsreq */ - if (on->request_list->count && (on->thread_send_lsreq == NULL)) - on->thread_send_lsreq = - thread_add_event (master, ospf6_lsreq_send, on, 0); + if (on->request_list->count) + thread_add_event (master, ospf6_lsreq_send, on, 0, &on->thread_send_lsreq); THREAD_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); - else - on->thread_send_dbdesc = - thread_add_event (master, ospf6_dbdesc_send_newone, on, 0); + thread_add_event (master, exchange_done, on, 0, NULL); + else { + on->thread_send_dbdesc = NULL; + thread_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)); @@ -637,8 +637,9 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Duplicated dbdesc causes retransmit"); THREAD_OFF (on->thread_send_dbdesc); - on->thread_send_dbdesc = - thread_add_event (master, ospf6_dbdesc_send, on, 0); + on->thread_send_dbdesc = NULL; + thread_add_event(master, ospf6_dbdesc_send, on, 0, + &on->thread_send_dbdesc); return; } @@ -646,7 +647,7 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, { if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Master/Slave bit mismatch"); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -654,7 +655,7 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, { if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Initialize bit mismatch"); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -662,7 +663,7 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, { if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Option field mismatch"); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -671,7 +672,7 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Sequence number mismatch (%#lx expected)", (u_long) on->dbdesc_seqnum + 1); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } break; @@ -684,15 +685,14 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Duplicated dbdesc causes retransmit"); THREAD_OFF (on->thread_send_dbdesc); - on->thread_send_dbdesc = - thread_add_event (master, ospf6_dbdesc_send, on, 0); + thread_add_event (master, ospf6_dbdesc_send, on, 0, &on->thread_send_dbdesc); return; } if (IS_OSPF6_DEBUG_MESSAGE (oh->type, RECV)) zlog_debug ("Not duplicate dbdesc in state %s", ospf6_neighbor_state_str[on->state]); - thread_add_event (master, seqnumber_mismatch, on, 0); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; default: @@ -735,7 +735,7 @@ 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); + thread_add_event (master, seqnumber_mismatch, on, 0, NULL); return; } @@ -756,14 +756,11 @@ ospf6_dbdesc_recv_slave (struct ospf6_header *oh, on->dbdesc_seqnum = ntohl (dbdesc->seqnum); /* schedule send lsreq */ - if ((on->thread_send_lsreq == NULL) && - (on->request_list->count)) - on->thread_send_lsreq = - thread_add_event (master, ospf6_lsreq_send, on, 0); + if (on->request_list->count) + thread_add_event (master, ospf6_lsreq_send, on, 0, &on->thread_send_lsreq); THREAD_OFF (on->thread_send_dbdesc); - on->thread_send_dbdesc = - thread_add_event (master, ospf6_dbdesc_send_newone, on, 0); + thread_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)); @@ -880,7 +877,7 @@ ospf6_lsreq_recv (struct in6_addr *src, struct in6_addr *dst, zlog_debug ("Can't find requested [%s Id:%s Adv:%s]", ospf6_lstype_name (e->type), id, adv_router); } - thread_add_event (master, bad_lsreq, on, 0); + thread_add_event (master, bad_lsreq, on, 0, NULL); return; } @@ -891,8 +888,7 @@ ospf6_lsreq_recv (struct in6_addr *src, struct in6_addr *dst, /* schedule send lsupdate */ THREAD_OFF (on->thread_send_lsupdate); - on->thread_send_lsupdate = - thread_add_event (master, ospf6_lsupdate_send_neighbor, on, 0); + thread_add_event (master, ospf6_lsupdate_send_neighbor, on, 0, &on->thread_send_lsupdate); } /* Verify, that the specified memory area contains exactly N valid IPv6 @@ -1532,7 +1528,7 @@ ospf6_receive (struct thread *thread) /* add next read thread */ sockfd = THREAD_FD (thread); - thread_add_read (master, ospf6_receive, NULL, sockfd); + thread_add_read (master, ospf6_receive, NULL, sockfd, NULL); /* initialize */ memset (&src, 0, sizeof (src)); @@ -1739,8 +1735,7 @@ ospf6_hello_send (struct thread *thread) } /* set next thread */ - oi->thread_send_hello = thread_add_timer (master, ospf6_hello_send, - oi, oi->hello_interval); + thread_add_timer (master, ospf6_hello_send, oi, oi->hello_interval, &oi->thread_send_hello); memset (sendbuf, 0, iobuflen); oh = (struct ospf6_header *) sendbuf; @@ -1804,9 +1799,9 @@ ospf6_dbdesc_send (struct thread *thread) /* set next thread if master */ if (CHECK_FLAG (on->dbdesc_bits, OSPF6_DBDESC_MSBIT)) - on->thread_send_dbdesc = - thread_add_timer (master, ospf6_dbdesc_send, on, - on->ospf6_if->rxmt_interval); + thread_add_timer (master, ospf6_dbdesc_send, on, + on->ospf6_if->rxmt_interval, + &on->thread_send_dbdesc); memset (sendbuf, 0, iobuflen); oh = (struct ospf6_header *) sendbuf; @@ -1817,10 +1812,7 @@ ospf6_dbdesc_send (struct thread *thread) if (CHECK_FLAG (on->dbdesc_bits, OSPF6_DBDESC_IBIT) && (on->dbdesc_seqnum == 0)) { - struct timeval tv; - if (quagga_gettime (QUAGGA_CLK_MONOTONIC, &tv) < 0) - tv.tv_sec = 1; - on->dbdesc_seqnum = tv.tv_sec; + on->dbdesc_seqnum = monotime(NULL); } dbdesc->options[0] = on->ospf6_if->area->options[0]; @@ -1899,7 +1891,7 @@ 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); + thread_add_event (master, exchange_done, on, 0, NULL); thread_execute (master, ospf6_dbdesc_send, on, 0); return 0; @@ -1930,7 +1922,7 @@ 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); + thread_add_event (master, loading_done, on, 0, NULL); return 0; } @@ -1981,9 +1973,9 @@ ospf6_lsreq_send (struct thread *thread) /* set next thread */ if (on->request_list->count != 0) { - on->thread_send_lsreq = - thread_add_timer (master, ospf6_lsreq_send, on, - on->ospf6_if->rxmt_interval); + on->thread_send_lsreq = NULL; + thread_add_timer(master, ospf6_lsreq_send, on, on->ospf6_if->rxmt_interval, + &on->thread_send_lsreq); } return 0; @@ -2100,13 +2092,16 @@ ospf6_lsupdate_send_neighbor (struct thread *thread) on->ospf6_if, oh); } - if (on->lsupdate_list->count != 0) - on->thread_send_lsupdate = - thread_add_event (master, ospf6_lsupdate_send_neighbor, on, 0); - else if (on->retrans_list->count != 0) - on->thread_send_lsupdate = - thread_add_timer (master, ospf6_lsupdate_send_neighbor, on, - on->ospf6_if->rxmt_interval); + if (on->lsupdate_list->count != 0) { + on->thread_send_lsupdate = NULL; + thread_add_event(master, ospf6_lsupdate_send_neighbor, on, 0, + &on->thread_send_lsupdate); + } + else if (on->retrans_list->count != 0) { + on->thread_send_lsupdate = NULL; + thread_add_timer(master, ospf6_lsupdate_send_neighbor, on, on->ospf6_if->rxmt_interval, + &on->thread_send_lsupdate); + } return 0; } @@ -2181,8 +2176,9 @@ ospf6_lsupdate_send_interface (struct thread *thread) if (oi->lsupdate_list->count > 0) { - oi->thread_send_lsupdate = - thread_add_event (master, ospf6_lsupdate_send_interface, oi, 0); + oi->thread_send_lsupdate = NULL; + thread_add_event(master, ospf6_lsupdate_send_interface, oi, 0, + &oi->thread_send_lsupdate); } return 0; @@ -2226,8 +2222,7 @@ ospf6_lsack_send_neighbor (struct thread *thread) /* if we run out of packet size/space here, better to try again soon. */ THREAD_OFF (on->thread_send_lsack); - on->thread_send_lsack = - thread_add_event (master, ospf6_lsack_send_neighbor, on, 0); + thread_add_event (master, ospf6_lsack_send_neighbor, on, 0, &on->thread_send_lsack); ospf6_lsdb_lsa_unlock (lsa); break; @@ -2251,11 +2246,8 @@ ospf6_lsack_send_neighbor (struct thread *thread) on->ospf6_if, oh); } - if (on->thread_send_lsack == NULL && on->lsack_list->count > 0) - { - on->thread_send_lsack = - thread_add_event (master, ospf6_lsack_send_neighbor, on, 0); - } + if (on->lsack_list->count > 0) + thread_add_event (master, ospf6_lsack_send_neighbor, on, 0, &on->thread_send_lsack); return 0; } @@ -2298,8 +2290,8 @@ ospf6_lsack_send_interface (struct thread *thread) /* if we run out of packet size/space here, better to try again soon. */ THREAD_OFF (oi->thread_send_lsack); - oi->thread_send_lsack = - thread_add_event (master, ospf6_lsack_send_interface, oi, 0); + thread_add_event (master, ospf6_lsack_send_interface, oi, 0, + &oi->thread_send_lsack); ospf6_lsdb_lsa_unlock (lsa); break; @@ -2327,11 +2319,8 @@ ospf6_lsack_send_interface (struct thread *thread) ospf6_send (oi->linklocal_addr, &alldrouters6, oi, oh); } - if (oi->thread_send_lsack == NULL && oi->lsack_list->count > 0) - { - oi->thread_send_lsack = - thread_add_event (master, ospf6_lsack_send_interface, oi, 0); - } + if (oi->lsack_list->count > 0) + thread_add_event (master, ospf6_lsack_send_interface, oi, 0, &oi->thread_send_lsack); return 0; } @@ -2340,7 +2329,7 @@ ospf6_lsack_send_interface (struct thread *thread) /* Commands */ DEFUN (debug_ospf6_message, debug_ospf6_message_cmd, - "debug ospf6 message (unknown|hello|dbdesc|lsreq|lsupdate|lsack|all)", + "debug ospf6 message <unknown|hello|dbdesc|lsreq|lsupdate|lsack|all> [<send|recv>]", DEBUG_STR OSPF6_STR "Debug OSPFv3 message\n" @@ -2351,35 +2340,36 @@ DEFUN (debug_ospf6_message, "Debug Link State Update message\n" "Debug Link State Acknowledgement message\n" "Debug All message\n" - ) + "Debug only sending message\n" + "Debug only receiving message\n") { + int idx_packet = 3; + int idx_send_recv = 4; unsigned char level = 0; int type = 0; int i; - assert (argc > 0); - /* check type */ - if (! strncmp (argv[0], "u", 1)) + if (! strncmp (argv[idx_packet]->arg, "u", 1)) type = OSPF6_MESSAGE_TYPE_UNKNOWN; - else if (! strncmp (argv[0], "h", 1)) + else if (! strncmp (argv[idx_packet]->arg, "h", 1)) type = OSPF6_MESSAGE_TYPE_HELLO; - else if (! strncmp (argv[0], "d", 1)) + else if (! strncmp (argv[idx_packet]->arg, "d", 1)) type = OSPF6_MESSAGE_TYPE_DBDESC; - else if (! strncmp (argv[0], "lsr", 3)) + else if (! strncmp (argv[idx_packet]->arg, "lsr", 3)) type = OSPF6_MESSAGE_TYPE_LSREQ; - else if (! strncmp (argv[0], "lsu", 3)) + else if (! strncmp (argv[idx_packet]->arg, "lsu", 3)) type = OSPF6_MESSAGE_TYPE_LSUPDATE; - else if (! strncmp (argv[0], "lsa", 3)) + else if (! strncmp (argv[idx_packet]->arg, "lsa", 3)) type = OSPF6_MESSAGE_TYPE_LSACK; - else if (! strncmp (argv[0], "a", 1)) + else if (! strncmp (argv[idx_packet]->arg, "a", 1)) type = OSPF6_MESSAGE_TYPE_ALL; - if (argc == 1) + if (argc == 4) level = OSPF6_DEBUG_MESSAGE_SEND | OSPF6_DEBUG_MESSAGE_RECV; - else if (! strncmp (argv[1], "s", 1)) + else if (! strncmp (argv[idx_send_recv]->arg, "s", 1)) level = OSPF6_DEBUG_MESSAGE_SEND; - else if (! strncmp (argv[1], "r", 1)) + else if (! strncmp (argv[idx_send_recv]->arg, "r", 1)) level = OSPF6_DEBUG_MESSAGE_RECV; if (type == OSPF6_MESSAGE_TYPE_ALL) @@ -2393,27 +2383,9 @@ DEFUN (debug_ospf6_message, return CMD_SUCCESS; } -ALIAS (debug_ospf6_message, - debug_ospf6_message_sendrecv_cmd, - "debug ospf6 message (unknown|hello|dbdesc|lsreq|lsupdate|lsack|all) (send|recv)", - DEBUG_STR - OSPF6_STR - "Debug OSPFv3 message\n" - "Debug Unknown message\n" - "Debug Hello message\n" - "Debug Database Description message\n" - "Debug Link State Request message\n" - "Debug Link State Update message\n" - "Debug Link State Acknowledgement message\n" - "Debug All message\n" - "Debug only sending message\n" - "Debug only receiving message\n" - ) - - DEFUN (no_debug_ospf6_message, no_debug_ospf6_message_cmd, - "no debug ospf6 message (unknown|hello|dbdesc|lsreq|lsupdate|lsack|all)", + "no debug ospf6 message <unknown|hello|dbdesc|lsreq|lsupdate|lsack|all> [<send|recv>]", NO_STR DEBUG_STR OSPF6_STR @@ -2425,35 +2397,36 @@ DEFUN (no_debug_ospf6_message, "Debug Link State Update message\n" "Debug Link State Acknowledgement message\n" "Debug All message\n" - ) + "Debug only sending message\n" + "Debug only receiving message\n") { + int idx_packet = 4; + int idx_send_recv = 5; unsigned char level = 0; int type = 0; int i; - assert (argc > 0); - /* check type */ - if (! strncmp (argv[0], "u", 1)) + if (! strncmp (argv[idx_packet]->arg, "u", 1)) type = OSPF6_MESSAGE_TYPE_UNKNOWN; - else if (! strncmp (argv[0], "h", 1)) + else if (! strncmp (argv[idx_packet]->arg, "h", 1)) type = OSPF6_MESSAGE_TYPE_HELLO; - else if (! strncmp (argv[0], "d", 1)) + else if (! strncmp (argv[idx_packet]->arg, "d", 1)) type = OSPF6_MESSAGE_TYPE_DBDESC; - else if (! strncmp (argv[0], "lsr", 3)) + else if (! strncmp (argv[idx_packet]->arg, "lsr", 3)) type = OSPF6_MESSAGE_TYPE_LSREQ; - else if (! strncmp (argv[0], "lsu", 3)) + else if (! strncmp (argv[idx_packet]->arg, "lsu", 3)) type = OSPF6_MESSAGE_TYPE_LSUPDATE; - else if (! strncmp (argv[0], "lsa", 3)) + else if (! strncmp (argv[idx_packet]->arg, "lsa", 3)) type = OSPF6_MESSAGE_TYPE_LSACK; - else if (! strncmp (argv[0], "a", 1)) + else if (! strncmp (argv[idx_packet]->arg, "a", 1)) type = OSPF6_MESSAGE_TYPE_ALL; - if (argc == 1) + if (argc == 5) level = OSPF6_DEBUG_MESSAGE_SEND | OSPF6_DEBUG_MESSAGE_RECV; - else if (! strncmp (argv[1], "s", 1)) + else if (! strncmp (argv[idx_send_recv]->arg, "s", 1)) level = OSPF6_DEBUG_MESSAGE_SEND; - else if (! strncmp (argv[1], "r", 1)) + else if (! strncmp (argv[idx_send_recv]->arg, "r", 1)) level = OSPF6_DEBUG_MESSAGE_RECV; if (type == OSPF6_MESSAGE_TYPE_ALL) @@ -2467,24 +2440,6 @@ DEFUN (no_debug_ospf6_message, return CMD_SUCCESS; } -ALIAS (no_debug_ospf6_message, - no_debug_ospf6_message_sendrecv_cmd, - "no debug ospf6 message " - "(unknown|hello|dbdesc|lsreq|lsupdate|lsack|all) (send|recv)", - NO_STR - DEBUG_STR - OSPF6_STR - "Debug OSPFv3 message\n" - "Debug Unknown message\n" - "Debug Hello message\n" - "Debug Database Description message\n" - "Debug Link State Request message\n" - "Debug Link State Update message\n" - "Debug Link State Acknowledgement message\n" - "Debug All message\n" - "Debug only sending message\n" - "Debug only receiving message\n" - ) int config_write_ospf6_debug_message (struct vty *vty) @@ -2549,12 +2504,8 @@ install_element_ospf6_debug_message (void) { install_element (ENABLE_NODE, &debug_ospf6_message_cmd); install_element (ENABLE_NODE, &no_debug_ospf6_message_cmd); - install_element (ENABLE_NODE, &debug_ospf6_message_sendrecv_cmd); - install_element (ENABLE_NODE, &no_debug_ospf6_message_sendrecv_cmd); install_element (CONFIG_NODE, &debug_ospf6_message_cmd); install_element (CONFIG_NODE, &no_debug_ospf6_message_cmd); - install_element (CONFIG_NODE, &debug_ospf6_message_sendrecv_cmd); - install_element (CONFIG_NODE, &no_debug_ospf6_message_sendrecv_cmd); } |
