forked from Mirror/frr

This commit is a part of #5853 works that add new ZAPI to configure SRv6 locator which manages chunk prefix for SRv6 SID IPv6 address for each routing protocol daemons. NEW-ZAPIs: * ZEBRA_SRV6_LOCATOR_ADD * ZEBRA_SRV6_LOCATOR_DELETE * ZEBRA_SRV6_MANAGER_CONNECT * ZEBRA_SRV6_MANAGER_GET_LOCATOR_CHUNK * ZEBRA_SRV6_MANAGER_RELEASE_LOCATOR_CHUNK Zclient can connect to zebra's srv6-manager with ZEBRA_SRV6_MANAGER_CONNECT api like a label-manager. Then zclient uses ZEBRA_SRV6_MANAGER_GET_LOCATOR_CHUNK to allocated dedicated locator chunk for it's routing protocol. Zebra works for only prefix reservation and distribute the ownership of the locator chunks for zcliens. Then, zclient installs SRv6 function with ZEBRA_ROUTE_ADD api with nh_seg6local_* fields. This feature is already implemented by another PR(#7680). Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
148 lines
4.2 KiB
C
148 lines
4.2 KiB
C
/*
|
|
* Zebra-specific error messages.
|
|
* Copyright (C) 2018 Cumulus Networks, Inc.
|
|
* Quentin Young
|
|
*
|
|
* 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
|
|
*/
|
|
|
|
#ifndef __EC_ZEBRAORS_H__
|
|
#define __EC_ZEBRAORS_H__
|
|
|
|
#include "lib/ferr.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
enum zebra_log_refs {
|
|
EC_ZEBRA_LM_RESPONSE = ZEBRA_FERR_START,
|
|
EC_ZEBRA_LM_NO_SUCH_CLIENT,
|
|
EC_ZEBRA_LM_RELAY_FAILED,
|
|
EC_ZEBRA_LM_NO_SOCKET,
|
|
EC_ZEBRA_LM_BAD_INSTANCE,
|
|
EC_ZEBRA_LM_RELAY_REQUEST_FAILED,
|
|
EC_ZEBRA_LM_CLIENT_CONNECTION_FAILED,
|
|
EC_ZEBRA_LM_EXHAUSTED_LABELS,
|
|
EC_ZEBRA_LM_DAEMON_MISMATCH,
|
|
EC_ZEBRA_LM_UNRELEASED_CHUNK,
|
|
EC_ZEBRA_DP_INVALID_RC,
|
|
EC_ZEBRA_WQ_NONEXISTENT,
|
|
EC_ZEBRA_FEC_ADD_FAILED,
|
|
EC_ZEBRA_FEC_LABEL_INDEX_LABEL_CONFLICT,
|
|
EC_ZEBRA_FEC_RM_FAILED,
|
|
EC_ZEBRA_IRDP_LEN_MISMATCH,
|
|
EC_ZEBRA_RNH_UNKNOWN_FAMILY,
|
|
EC_ZEBRA_DP_INSTALL_FAIL,
|
|
EC_ZEBRA_DP_DELETE_FAIL,
|
|
EC_ZEBRA_TABLE_LOOKUP_FAILED,
|
|
EC_ZEBRA_NETLINK_NOT_AVAILABLE,
|
|
EC_ZEBRA_PROTOBUF_NOT_AVAILABLE,
|
|
EC_ZEBRA_TM_EXHAUSTED_IDS,
|
|
EC_ZEBRA_TM_DAEMON_MISMATCH,
|
|
EC_ZEBRA_TM_UNRELEASED_CHUNK,
|
|
EC_ZEBRA_UNKNOWN_FAMILY,
|
|
EC_ZEBRA_TM_WRONG_PROTO,
|
|
EC_ZEBRA_PROTO_OR_INSTANCE_MISMATCH,
|
|
EC_ZEBRA_LM_CANNOT_ASSIGN_CHUNK,
|
|
EC_ZEBRA_LM_ALIENS,
|
|
EC_ZEBRA_TM_CANNOT_ASSIGN_CHUNK,
|
|
EC_ZEBRA_TM_ALIENS,
|
|
EC_ZEBRA_RECVBUF,
|
|
EC_ZEBRA_UNKNOWN_NLMSG,
|
|
EC_ZEBRA_RECVMSG_OVERRUN,
|
|
EC_ZEBRA_NETLINK_LENGTH_ERROR,
|
|
EC_ZEBRA_UNEXPECTED_MESSAGE,
|
|
EC_ZEBRA_NETLINK_BAD_SEQUENCE,
|
|
EC_ZEBRA_BAD_MULTIPATH_NUM,
|
|
EC_ZEBRA_PREFIX_PARSE_ERROR,
|
|
EC_ZEBRA_MAC_ADD_FAILED,
|
|
EC_ZEBRA_VNI_DEL_FAILED,
|
|
EC_ZEBRA_VTEP_ADD_FAILED,
|
|
EC_ZEBRA_VNI_ADD_FAILED,
|
|
EC_ZEBRA_NHG_TABLE_INSERT_FAILED,
|
|
EC_ZEBRA_NHG_SYNC,
|
|
EC_ZEBRA_NHG_FIB_UPDATE,
|
|
EC_ZEBRA_NS_NO_DEFAULT,
|
|
EC_ZEBRA_PBR_RULE_UPDATE,
|
|
/* warnings */
|
|
EC_ZEBRA_NS_NOTIFY_READ,
|
|
EC_ZEBRAING_LM_PROTO_MISMATCH,
|
|
EC_ZEBRA_LSP_INSTALL_FAILURE,
|
|
EC_ZEBRA_LSP_DELETE_FAILURE,
|
|
EC_ZEBRA_MPLS_SUPPORT_DISABLED,
|
|
EC_ZEBRA_SYSCTL_FAILED,
|
|
EC_ZEBRA_CONVERT_TO_DEBUG,
|
|
EC_ZEBRA_NS_VRF_CREATION_FAILED,
|
|
EC_ZEBRA_NS_DELETION_FAILED_NO_VRF,
|
|
EC_ZEBRA_IRDP_BAD_CHECKSUM,
|
|
EC_ZEBRA_IRDP_BAD_TYPE_CODE,
|
|
EC_ZEBRA_IRDP_BAD_RX_FLAGS,
|
|
EC_ZEBRA_RNH_NO_TABLE,
|
|
EC_ZEBRA_IFLIST_FAILED,
|
|
EC_ZEBRA_FPM_FORMAT_UNKNOWN,
|
|
EC_ZEBRA_CLIENT_IO_ERROR,
|
|
EC_ZEBRA_CLIENT_WRITE_FAILED,
|
|
EC_ZEBRA_NETLINK_INVALID_AF,
|
|
EC_ZEBRA_REMOVE_ADDR_UNKNOWN_SUBNET,
|
|
EC_ZEBRA_REMOVE_UNREGISTERED_ADDR,
|
|
EC_ZEBRA_PTM_NOT_READY,
|
|
EC_ZEBRA_UNSUPPORTED_V4_SRCDEST,
|
|
EC_ZEBRA_UNKNOWN_INTERFACE,
|
|
EC_ZEBRA_VRF_NOT_FOUND,
|
|
EC_ZEBRA_MORE_NH_THAN_MULTIPATH,
|
|
EC_ZEBRA_NEXTHOP_CREATION_FAILED,
|
|
EC_ZEBRA_RX_ROUTE_NO_NEXTHOPS,
|
|
EC_ZEBRA_RX_SRCDEST_WRONG_AFI,
|
|
EC_ZEBRA_PSEUDOWIRE_EXISTS,
|
|
EC_ZEBRA_PSEUDOWIRE_UNINSTALL_NOT_FOUND,
|
|
EC_ZEBRA_PSEUDOWIRE_NONEXISTENT,
|
|
EC_ZEBRA_NO_IFACE_ADDR,
|
|
EC_ZEBRA_IFACE_ADDR_ADD_FAILED,
|
|
EC_ZEBRA_IRDP_CANNOT_ACTIVATE_IFACE,
|
|
EC_ZEBRA_IRDP_IFACE_DOWN,
|
|
EC_ZEBRA_IRDP_IFACE_MCAST_DISABLED,
|
|
EC_ZEBRA_NETLINK_EXTENDED_WARNING,
|
|
EC_ZEBRA_NAMESPACE_DIR_INACCESSIBLE,
|
|
EC_ZEBRA_CONNECTED_AFI_UNKNOWN,
|
|
EC_ZEBRA_IFACE_SAME_LOCAL_AS_PEER,
|
|
EC_ZEBRA_BCAST_ADDR_MISMATCH,
|
|
EC_ZEBRA_REDISTRIBUTE_UNKNOWN_AF,
|
|
EC_ZEBRA_ADVERTISING_UNUSABLE_ADDR,
|
|
EC_ZEBRA_RA_PARAM_MISMATCH,
|
|
EC_ZEBRA_RTM_VERSION_MISMATCH,
|
|
EC_ZEBRA_RTM_NO_GATEWAY,
|
|
EC_ZEBRA_MAX_LABELS_PUSH,
|
|
EC_ZEBRA_STICKY_MAC_ALREADY_LEARNT,
|
|
EC_ZEBRA_UNSUPPORTED_V6_SRCDEST,
|
|
EC_ZEBRA_DUP_MAC_DETECTED,
|
|
EC_ZEBRA_DUP_IP_INHERIT_DETECTED,
|
|
EC_ZEBRA_DUP_IP_DETECTED,
|
|
EC_ZEBRA_BAD_NHG_MESSAGE,
|
|
EC_ZEBRA_DUPLICATE_NHG_MESSAGE,
|
|
EC_ZEBRA_VRF_MISCONFIGURED,
|
|
EC_ZEBRA_ES_CREATE,
|
|
EC_ZEBRA_GRE_SET_UPDATE,
|
|
EC_ZEBRA_SRV6M_UNRELEASED_LOCATOR_CHUNK,
|
|
};
|
|
|
|
void zebra_error_init(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __EC_ZEBRAORS_H__ */
|