1 /* 2 * VRRP debugging. 3 * Copyright (C) 2019 Cumulus Networks, Inc. 4 * Quentin Young 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) 9 * any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 * more details. 15 * 16 * You should have received a copy of the GNU General Public License along 17 * with this program; see the file COPYING; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 #ifndef __VRRP_DEBUG_H__ 21 #define __VRRP_DEBUG_H__ 22 23 #include <zebra.h> 24 25 #include "lib/debug.h" 26 27 /* VRRP debugging records */ 28 extern struct debug vrrp_dbg_arp; 29 extern struct debug vrrp_dbg_auto; 30 extern struct debug vrrp_dbg_ndisc; 31 extern struct debug vrrp_dbg_pkt; 32 extern struct debug vrrp_dbg_proto; 33 extern struct debug vrrp_dbg_sock; 34 extern struct debug vrrp_dbg_zebra; 35 36 /* 37 * Initialize VRRP debugging. 38 * 39 * Installs VTY commands and registers callbacks. 40 */ 41 void vrrp_debug_init(void); 42 43 /* 44 * Print VRRP debugging configuration. 45 * 46 * vty 47 * VTY to print debugging configuration to. 48 */ 49 int vrrp_config_write_debug(struct vty *vty); 50 51 /* 52 * Print VRRP debugging configuration, human readable form. 53 * 54 * vty 55 * VTY to print debugging configuration to. 56 */ 57 int vrrp_debug_status_write(struct vty *vty); 58 59 /* 60 * Set debugging status. 61 * 62 * ifp 63 * Interface to set status on 64 * 65 * vrid 66 * VRID of instance to set status on 67 * 68 * vtynode 69 * vty->node 70 * 71 * onoff 72 * Whether to turn the specified debugs on or off 73 * 74 * proto 75 * Turn protocol debugging on or off 76 * 77 * autoconf 78 * Turn autoconfiguration debugging on or off 79 * 80 * pkt 81 * Turn packet debugging on or off 82 */ 83 void vrrp_debug_set(struct interface *ifp, uint8_t vrid, int vtynode, 84 bool onoff, bool proto, bool autoconf, bool pkt, bool sock, 85 bool ndisc, bool arp, bool zebra); 86 87 #endif /* __VRRP_DEBUG_H__ */ 88