2018-06-14 14:23:49 +02:00
/*
* Library - specific error messages .
* Copyright ( C ) 2018 Cumulus Networks , Inc .
* Donald Sharp
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation ; either version 2 of the License , or ( at your option )
* any later version .
*
* This program is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of 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 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>
# include <lib_errors.h>
static struct ferr_ref ferr_lib_err [ ] = {
{
. code = LIB_ERR_PRIVILEGES ,
. title = " Failure to raise or lower privileges " ,
2018-06-14 16:38:40 +02:00
. description = " FRR attempted to raise or lower its privileges and was unable to do so " ,
2018-06-14 14:23:49 +02:00
. suggestion = " Ensure that you are running FRR as the frr user and that the user has \n Sufficient privileges to properly access root privileges "
} ,
{
. code = LIB_ERR_VRF_START ,
. title = " VRF Failure on Start " ,
. description = " Upon startup FRR failed to properly initialize and startup the VRF subsystem " ,
. suggestion = " Ensure that there is sufficient memory to start processes and restart FRR " ,
} ,
{
2018-06-14 15:13:18 +02:00
. code = LIB_ERR_SOCKET ,
. title = " Socket Error " ,
. description = " When attempting to access a socket a system error has occured \n and we were unable to properly complete the request " ,
2018-06-14 16:38:40 +02:00
. suggestion = " Ensure that there are sufficient system resources available and \n ensure that the frr user has sufficient permisions to work " ,
2018-06-14 14:23:49 +02:00
} ,
2018-06-14 14:56:27 +02:00
{
. code = LIB_ERR_ZAPI_MISSMATCH ,
2018-06-14 16:38:40 +02:00
. title = " ZAPI Error " ,
2018-06-14 14:56:27 +02:00
. description = " A version miss-match has been detected between zebra and client protocol " ,
2018-06-14 16:38:40 +02:00
. suggestion = " Two different versions of FRR have been installed and the install is \n not properly setup. Completely stop FRR, remove it from the system and \n reinstall. Typically only developers should see this issue. "
2018-06-14 14:56:27 +02:00
} ,
{
. code = LIB_ERR_ZAPI_ENCODE ,
2018-06-14 16:38:40 +02:00
. title = " ZAPI Error " ,
. description = " The ZAPI subsystem has detected an encoding issue, between zebra and a client protocol " ,
2018-06-14 14:56:27 +02:00
. suggestion = " Restart FRR "
} ,
{
. code = LIB_ERR_ZAPI_SOCKET ,
2018-06-14 16:38:40 +02:00
. title = " ZAPI Error " ,
. description = " The ZAPI subsystem has detected a socket error between zebra and a client " ,
2018-06-14 14:56:27 +02:00
. suggestion = " Restart FRR "
} ,
2018-06-14 14:23:49 +02:00
{
2018-06-14 15:13:18 +02:00
. code = LIB_ERR_SYSTEM_CALL ,
. title = " System Call Error " ,
. description = " FRR has detected a error from using a vital system call and has probably \n already exited " ,
2018-06-14 16:38:40 +02:00
. suggestion = " Ensure permissions are correct for FRR files, users and groups are correct. \n Additionally check that sufficient system resources are available. "
2018-06-14 15:13:18 +02:00
} ,
2018-06-14 15:21:11 +02:00
{
. code = LIB_ERR_VTY ,
2018-06-14 16:38:40 +02:00
. title = " VTY Subsystem Error " ,
2018-06-14 15:21:11 +02:00
. description = " FRR has detected a problem with the specified configuration file " ,
. suggestion = " Ensure configuration file exists and has correct permissions for operations \n Additionally ensure that all config lines are correct as well " ,
} ,
2018-06-14 15:35:09 +02:00
{
. code = LIB_ERR_SNMP ,
2018-06-14 16:38:40 +02:00
. title = " SNMP Subsystem Error " ,
2018-06-14 15:35:09 +02:00
. description = " FRR has detected a problem with the snmp library it uses \n A callback from this subsystem has indicated some error " ,
. suggestion = " Examine callback message and ensure snmp is properly setup and working "
} ,
2018-06-14 15:13:18 +02:00
{
. code = END_FERR ,
2018-06-14 14:23:49 +02:00
}
} ;
void lib_error_init ( void )
{
ferr_ref_init ( ) ;
ferr_ref_add ( ferr_lib_err ) ;
}