mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 05:21:31 +00:00
*: require semicolon after DEFINE_QOBJ & co.
Again, see previous commits. Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
parent
8451921b70
commit
96244aca23
@ -73,7 +73,7 @@ DEFINE_MTYPE_STATIC(BMP, BMP_MIRRORQ, "BMP route mirroring buffer");
|
||||
DEFINE_MTYPE_STATIC(BMP, BMP_PEER, "BMP per BGP peer data");
|
||||
DEFINE_MTYPE_STATIC(BMP, BMP_OPEN, "BMP stored BGP OPEN message");
|
||||
|
||||
DEFINE_QOBJ_TYPE(bmp_targets)
|
||||
DEFINE_QOBJ_TYPE(bmp_targets);
|
||||
|
||||
static int bmp_bgp_cmp(const struct bmp_bgp *a, const struct bmp_bgp *b)
|
||||
{
|
||||
|
@ -245,9 +245,9 @@ struct bmp_targets {
|
||||
|
||||
uint64_t cnt_accept, cnt_aclrefused;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(bmp_targets)
|
||||
DECLARE_QOBJ_TYPE(bmp_targets);
|
||||
|
||||
/* per struct peer * data. Lookup by peer->qobj_node.nid, created on demand,
|
||||
* deleted in peer_backward hook. */
|
||||
|
@ -57,8 +57,8 @@
|
||||
/*
|
||||
* Definitions and external declarations.
|
||||
*/
|
||||
DEFINE_QOBJ_TYPE(bgpevpn)
|
||||
DEFINE_QOBJ_TYPE(bgp_evpn_es)
|
||||
DEFINE_QOBJ_TYPE(bgpevpn);
|
||||
DEFINE_QOBJ_TYPE(bgp_evpn_es);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -125,9 +125,9 @@ struct bgp_evpn_es {
|
||||
/* preference config for BUM-DF election. advertised via the ESR. */
|
||||
uint16_t df_pref;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(bgp_evpn_es)
|
||||
DECLARE_QOBJ_TYPE(bgp_evpn_es);
|
||||
RB_HEAD(bgp_es_rb_head, bgp_evpn_es);
|
||||
RB_PROTOTYPE(bgp_es_rb_head, bgp_evpn_es, rb_node, bgp_es_rb_cmp);
|
||||
|
||||
|
@ -112,10 +112,10 @@ struct bgpevpn {
|
||||
/* List of local ESs */
|
||||
struct list *local_es_evi_list;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
|
||||
DECLARE_QOBJ_TYPE(bgpevpn)
|
||||
DECLARE_QOBJ_TYPE(bgpevpn);
|
||||
|
||||
/* Mapping of Import RT to VNIs.
|
||||
* The Import RTs of all VNIs are maintained in a hash table with each
|
||||
|
@ -93,9 +93,9 @@
|
||||
|
||||
DEFINE_MTYPE_STATIC(BGPD, PEER_TX_SHUTDOWN_MSG, "Peer shutdown message (TX)");
|
||||
DEFINE_MTYPE_STATIC(BGPD, BGP_EVPN_INFO, "BGP EVPN instance information");
|
||||
DEFINE_QOBJ_TYPE(bgp_master)
|
||||
DEFINE_QOBJ_TYPE(bgp)
|
||||
DEFINE_QOBJ_TYPE(peer)
|
||||
DEFINE_QOBJ_TYPE(bgp_master);
|
||||
DEFINE_QOBJ_TYPE(bgp);
|
||||
DEFINE_QOBJ_TYPE(peer);
|
||||
DEFINE_HOOK(bgp_inst_delete, (struct bgp *bgp), (bgp));
|
||||
|
||||
/* BGP process wide configuration. */
|
||||
|
12
bgpd/bgpd.h
12
bgpd/bgpd.h
@ -175,9 +175,9 @@ struct bgp_master {
|
||||
#define BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA (1 << 1)
|
||||
|
||||
bool terminating; /* global flag that sigint terminate seen */
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(bgp_master)
|
||||
DECLARE_QOBJ_TYPE(bgp_master);
|
||||
|
||||
/* BGP route-map structure. */
|
||||
struct bgp_rmap {
|
||||
@ -710,9 +710,9 @@ struct bgp {
|
||||
/* BGP route flap dampening configuration */
|
||||
struct bgp_damp_config damp[AFI_MAX][SAFI_MAX];
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(bgp)
|
||||
DECLARE_QOBJ_TYPE(bgp);
|
||||
|
||||
DECLARE_HOOK(bgp_inst_delete, (struct bgp *bgp), (bgp));
|
||||
DECLARE_HOOK(bgp_inst_config_write,
|
||||
@ -1574,9 +1574,9 @@ struct peer {
|
||||
bool advmap_config_change[AFI_MAX][SAFI_MAX];
|
||||
bool advmap_table_change;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(peer)
|
||||
DECLARE_QOBJ_TYPE(peer);
|
||||
|
||||
/* Inherit peer attribute from peer-group. */
|
||||
#define PEER_ATTR_INHERIT(peer, group, attr) \
|
||||
|
@ -80,8 +80,8 @@ DEFINE_MTYPE(RFAPI, RFAPI_L2ADDR_OPT, "RFAPI L2 Address Option");
|
||||
DEFINE_MTYPE(RFAPI, RFAPI_AP, "RFAPI Advertised Prefix");
|
||||
DEFINE_MTYPE(RFAPI, RFAPI_MONITOR_ETH, "RFAPI Monitor Ethernet");
|
||||
|
||||
DEFINE_QOBJ_TYPE(rfapi_nve_group_cfg)
|
||||
DEFINE_QOBJ_TYPE(rfapi_l2_group_cfg)
|
||||
DEFINE_QOBJ_TYPE(rfapi_nve_group_cfg);
|
||||
DEFINE_QOBJ_TYPE(rfapi_l2_group_cfg);
|
||||
/***********************************************************************
|
||||
* RFAPI Support
|
||||
***********************************************************************/
|
||||
|
@ -35,9 +35,9 @@ struct rfapi_l2_group_cfg {
|
||||
struct ecommunity *rt_export_list;
|
||||
void *rfp_cfg; /* rfp owned group config */
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(rfapi_l2_group_cfg)
|
||||
DECLARE_QOBJ_TYPE(rfapi_l2_group_cfg);
|
||||
|
||||
typedef enum {
|
||||
RFAPI_GROUP_CFG_NVE = 1,
|
||||
@ -108,9 +108,9 @@ struct rfapi_nve_group_cfg {
|
||||
/* for VRF type groups */
|
||||
uint32_t label;
|
||||
struct rfapi_descriptor *rfd;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(rfapi_nve_group_cfg)
|
||||
DECLARE_QOBJ_TYPE(rfapi_nve_group_cfg);
|
||||
|
||||
struct rfapi_rfg_name {
|
||||
struct rfapi_nve_group_cfg *rfg;
|
||||
|
@ -126,9 +126,9 @@ struct eigrp {
|
||||
/* distribute_ctx */
|
||||
struct distribute_ctx *distribute_ctx;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(eigrp)
|
||||
DECLARE_QOBJ_TYPE(eigrp);
|
||||
|
||||
struct eigrp_if_params {
|
||||
uint8_t passive_interface;
|
||||
|
@ -58,7 +58,7 @@
|
||||
#include "eigrpd/eigrp_memory.h"
|
||||
#include "eigrpd/eigrp_filter.h"
|
||||
|
||||
DEFINE_QOBJ_TYPE(eigrp)
|
||||
DEFINE_QOBJ_TYPE(eigrp);
|
||||
|
||||
static struct eigrp_master eigrp_master;
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
||||
#include "isisd/isis_nb.h"
|
||||
#include "isisd/isis_ldp_sync.h"
|
||||
|
||||
DEFINE_QOBJ_TYPE(isis_circuit)
|
||||
DEFINE_QOBJ_TYPE(isis_circuit);
|
||||
|
||||
DEFINE_HOOK(isis_if_new_hook, (struct interface *ifp), (ifp));
|
||||
|
||||
|
@ -174,9 +174,9 @@ struct isis_circuit {
|
||||
*/
|
||||
struct list *snmp_adj_list; /* List in id order */
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(isis_circuit)
|
||||
DECLARE_QOBJ_TYPE(isis_circuit);
|
||||
|
||||
void isis_circuit_init(void);
|
||||
struct isis_circuit *isis_circuit_new(struct isis *isis);
|
||||
|
@ -81,7 +81,7 @@ unsigned long debug_sr;
|
||||
unsigned long debug_ldp_sync;
|
||||
unsigned long debug_lfa;
|
||||
|
||||
DEFINE_QOBJ_TYPE(isis_area)
|
||||
DEFINE_QOBJ_TYPE(isis_area);
|
||||
|
||||
/* ISIS process wide configuration. */
|
||||
static struct isis_master isis_master;
|
||||
|
@ -236,9 +236,9 @@ struct isis_area {
|
||||
uint64_t id_len_mismatches[2];
|
||||
uint64_t lsp_error_counter[2];
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(isis_area)
|
||||
DECLARE_QOBJ_TYPE(isis_area);
|
||||
|
||||
DECLARE_HOOK(isis_area_overload_bit_update, (struct isis_area * area), (area));
|
||||
|
||||
|
14
ldpd/ldpd.c
14
ldpd/ldpd.c
@ -69,13 +69,13 @@ static void merge_l2vpns(struct ldpd_conf *, struct ldpd_conf *);
|
||||
static void merge_l2vpn(struct ldpd_conf *, struct l2vpn *,
|
||||
struct l2vpn *);
|
||||
|
||||
DEFINE_QOBJ_TYPE(iface)
|
||||
DEFINE_QOBJ_TYPE(tnbr)
|
||||
DEFINE_QOBJ_TYPE(nbr_params)
|
||||
DEFINE_QOBJ_TYPE(l2vpn_if)
|
||||
DEFINE_QOBJ_TYPE(l2vpn_pw)
|
||||
DEFINE_QOBJ_TYPE(l2vpn)
|
||||
DEFINE_QOBJ_TYPE(ldpd_conf)
|
||||
DEFINE_QOBJ_TYPE(iface);
|
||||
DEFINE_QOBJ_TYPE(tnbr);
|
||||
DEFINE_QOBJ_TYPE(nbr_params);
|
||||
DEFINE_QOBJ_TYPE(l2vpn_if);
|
||||
DEFINE_QOBJ_TYPE(l2vpn_pw);
|
||||
DEFINE_QOBJ_TYPE(l2vpn);
|
||||
DEFINE_QOBJ_TYPE(ldpd_conf);
|
||||
|
||||
struct ldpd_global global;
|
||||
struct ldpd_init init;
|
||||
|
28
ldpd/ldpd.h
28
ldpd/ldpd.h
@ -362,11 +362,11 @@ struct iface {
|
||||
struct iface_af ipv4;
|
||||
struct iface_af ipv6;
|
||||
struct iface_ldp_sync ldp_sync;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(iface_head, iface);
|
||||
RB_PROTOTYPE(iface_head, iface, entry, iface_compare);
|
||||
DECLARE_QOBJ_TYPE(iface)
|
||||
DECLARE_QOBJ_TYPE(iface);
|
||||
|
||||
/* source of targeted hellos */
|
||||
struct tnbr {
|
||||
@ -379,11 +379,11 @@ struct tnbr {
|
||||
uint16_t pw_count;
|
||||
uint32_t rlfa_count;
|
||||
uint8_t flags;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(tnbr_head, tnbr);
|
||||
RB_PROTOTYPE(tnbr_head, tnbr, entry, tnbr_compare);
|
||||
DECLARE_QOBJ_TYPE(tnbr)
|
||||
DECLARE_QOBJ_TYPE(tnbr);
|
||||
#define F_TNBR_CONFIGURED 0x01
|
||||
#define F_TNBR_DYNAMIC 0x02
|
||||
|
||||
@ -405,11 +405,11 @@ struct nbr_params {
|
||||
uint8_t md5key_len;
|
||||
} auth;
|
||||
uint8_t flags;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(nbrp_head, nbr_params);
|
||||
RB_PROTOTYPE(nbrp_head, nbr_params, entry, nbr_params_compare);
|
||||
DECLARE_QOBJ_TYPE(nbr_params)
|
||||
DECLARE_QOBJ_TYPE(nbr_params);
|
||||
#define F_NBRP_KEEPALIVE 0x01
|
||||
#define F_NBRP_GTSM 0x02
|
||||
#define F_NBRP_GTSM_HOPS 0x04
|
||||
@ -463,11 +463,11 @@ struct l2vpn_if {
|
||||
ifindex_t ifindex;
|
||||
int operative;
|
||||
uint8_t mac[ETH_ALEN];
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(l2vpn_if_head, l2vpn_if);
|
||||
RB_PROTOTYPE(l2vpn_if_head, l2vpn_if, entry, l2vpn_if_compare);
|
||||
DECLARE_QOBJ_TYPE(l2vpn_if)
|
||||
DECLARE_QOBJ_TYPE(l2vpn_if);
|
||||
|
||||
struct l2vpn_pw {
|
||||
RB_ENTRY(l2vpn_pw) entry;
|
||||
@ -485,11 +485,11 @@ struct l2vpn_pw {
|
||||
uint32_t remote_status;
|
||||
uint8_t flags;
|
||||
uint8_t reason;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(l2vpn_pw_head, l2vpn_pw);
|
||||
RB_PROTOTYPE(l2vpn_pw_head, l2vpn_pw, entry, l2vpn_pw_compare);
|
||||
DECLARE_QOBJ_TYPE(l2vpn_pw)
|
||||
DECLARE_QOBJ_TYPE(l2vpn_pw);
|
||||
#define F_PW_STATUSTLV_CONF 0x01 /* status tlv configured */
|
||||
#define F_PW_STATUSTLV 0x02 /* status tlv negotiated */
|
||||
#define F_PW_CWORD_CONF 0x04 /* control word configured */
|
||||
@ -513,11 +513,11 @@ struct l2vpn {
|
||||
struct l2vpn_if_head if_tree;
|
||||
struct l2vpn_pw_head pw_tree;
|
||||
struct l2vpn_pw_head pw_inactive_tree;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(l2vpn_head, l2vpn);
|
||||
RB_PROTOTYPE(l2vpn_head, l2vpn, entry, l2vpn_compare);
|
||||
DECLARE_QOBJ_TYPE(l2vpn)
|
||||
DECLARE_QOBJ_TYPE(l2vpn);
|
||||
#define L2VPN_TYPE_VPWS 1
|
||||
#define L2VPN_TYPE_VPLS 2
|
||||
|
||||
@ -584,9 +584,9 @@ struct ldpd_conf {
|
||||
int flags;
|
||||
time_t config_change_time;
|
||||
struct ldp_entity_stats stats;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(ldpd_conf)
|
||||
DECLARE_QOBJ_TYPE(ldpd_conf);
|
||||
#define F_LDPD_NO_FIB_UPDATE 0x0001
|
||||
#define F_LDPD_DS_CISCO_INTEROP 0x0002
|
||||
#define F_LDPD_ENABLED 0x0004
|
||||
|
2
lib/if.c
2
lib/if.c
@ -53,7 +53,7 @@ static int if_cmp_index_func(const struct interface *ifp1,
|
||||
RB_GENERATE(if_name_head, interface, name_entry, if_cmp_func);
|
||||
RB_GENERATE(if_index_head, interface, index_entry, if_cmp_index_func);
|
||||
|
||||
DEFINE_QOBJ_TYPE(interface)
|
||||
DEFINE_QOBJ_TYPE(interface);
|
||||
|
||||
DEFINE_HOOK(if_add, (struct interface * ifp), (ifp));
|
||||
DEFINE_KOOH(if_del, (struct interface * ifp), (ifp));
|
||||
|
4
lib/if.h
4
lib/if.h
@ -301,14 +301,14 @@ struct interface {
|
||||
*/
|
||||
bool configured;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
|
||||
RB_HEAD(if_name_head, interface);
|
||||
RB_PROTOTYPE(if_name_head, interface, name_entry, if_cmp_func)
|
||||
RB_HEAD(if_index_head, interface);
|
||||
RB_PROTOTYPE(if_index_head, interface, index_entry, if_cmp_index_func)
|
||||
DECLARE_QOBJ_TYPE(interface)
|
||||
DECLARE_QOBJ_TYPE(interface);
|
||||
|
||||
#define IFNAME_RB_INSERT(vrf, ifp) \
|
||||
({ \
|
||||
|
@ -28,8 +28,8 @@
|
||||
DEFINE_MTYPE_STATIC(LIB, KEY, "Key");
|
||||
DEFINE_MTYPE_STATIC(LIB, KEYCHAIN, "Key chain");
|
||||
|
||||
DEFINE_QOBJ_TYPE(keychain)
|
||||
DEFINE_QOBJ_TYPE(key)
|
||||
DEFINE_QOBJ_TYPE(keychain);
|
||||
DEFINE_QOBJ_TYPE(key);
|
||||
|
||||
/* Master list of key chain. */
|
||||
static struct list *keychain_list;
|
||||
|
@ -32,9 +32,9 @@ struct keychain {
|
||||
|
||||
struct list *key;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(keychain)
|
||||
DECLARE_QOBJ_TYPE(keychain);
|
||||
|
||||
struct key_range {
|
||||
time_t start;
|
||||
@ -51,9 +51,9 @@ struct key {
|
||||
struct key_range send;
|
||||
struct key_range accept;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(key)
|
||||
DECLARE_QOBJ_TYPE(key);
|
||||
|
||||
extern void keychain_init(void);
|
||||
extern struct keychain *keychain_lookup(const char *);
|
||||
|
@ -620,7 +620,7 @@ static void nhgc_delete(struct nexthop_group_cmd *nhgc)
|
||||
XFREE(MTYPE_TMP, nhgc);
|
||||
}
|
||||
|
||||
DEFINE_QOBJ_TYPE(nexthop_group_cmd)
|
||||
DEFINE_QOBJ_TYPE(nexthop_group_cmd);
|
||||
|
||||
DEFUN_NOSH(nexthop_group, nexthop_group_cmd, "nexthop-group NHGNAME",
|
||||
"Enter into the nexthop-group submode\n"
|
||||
|
@ -97,12 +97,12 @@ struct nexthop_group_cmd {
|
||||
|
||||
struct list *nhg_list;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(nhgc_entry_head, nexthp_group_cmd);
|
||||
RB_PROTOTYPE(nhgc_entry_head, nexthop_group_cmd, nhgc_entry,
|
||||
nexthop_group_cmd_compare)
|
||||
DECLARE_QOBJ_TYPE(nexthop_group_cmd)
|
||||
DECLARE_QOBJ_TYPE(nexthop_group_cmd);
|
||||
|
||||
/*
|
||||
* Initialize nexthop_groups. If you are interested in when
|
||||
|
11
lib/qobj.h
11
lib/qobj.h
@ -92,7 +92,7 @@ struct qobj_node {
|
||||
const struct qobj_nodetype *type;
|
||||
};
|
||||
|
||||
#define QOBJ_FIELDS struct qobj_node qobj_node;
|
||||
#define QOBJ_FIELDS struct qobj_node qobj_node
|
||||
|
||||
/* call these at the end of any _create function (QOBJ_REG)
|
||||
* and beginning of any _destroy function (QOBJ_UNREG) */
|
||||
@ -118,16 +118,19 @@ void *qobj_get_typed(uint64_t id, const struct qobj_nodetype *type);
|
||||
|
||||
/* type declarations */
|
||||
#define DECLARE_QOBJ_TYPE(structname) \
|
||||
extern const struct qobj_nodetype qobj_t_##structname;
|
||||
extern const struct qobj_nodetype qobj_t_##structname \
|
||||
/* end */
|
||||
#define DEFINE_QOBJ_TYPE(structname) \
|
||||
const struct qobj_nodetype qobj_t_##structname = { \
|
||||
.node_member_offset = \
|
||||
(ptrdiff_t)offsetof(struct structname, qobj_node)};
|
||||
(ptrdiff_t)offsetof(struct structname, qobj_node)} \
|
||||
/* end */
|
||||
#define DEFINE_QOBJ_TYPE_INIT(structname, ...) \
|
||||
const struct qobj_nodetype qobj_t_##structname = { \
|
||||
.node_member_offset = \
|
||||
(ptrdiff_t)offsetof(struct structname, qobj_node), \
|
||||
__VA_ARGS__};
|
||||
__VA_ARGS__} \
|
||||
/* end */
|
||||
|
||||
/* ID dereference with typecheck.
|
||||
* will return NULL if id not found or wrong type. */
|
||||
|
@ -42,8 +42,8 @@ DEFINE_MTYPE(LIB, ROUTE_MAP_COMPILED, "Route map compiled");
|
||||
DEFINE_MTYPE_STATIC(LIB, ROUTE_MAP_DEP, "Route map dependency");
|
||||
DEFINE_MTYPE_STATIC(LIB, ROUTE_MAP_DEP_DATA, "Route map dependency data");
|
||||
|
||||
DEFINE_QOBJ_TYPE(route_map_index)
|
||||
DEFINE_QOBJ_TYPE(route_map)
|
||||
DEFINE_QOBJ_TYPE(route_map_index);
|
||||
DEFINE_QOBJ_TYPE(route_map);
|
||||
|
||||
#define IPv4_PREFIX_LIST "ip address prefix-list"
|
||||
#define IPv6_PREFIX_LIST "ipv6 address prefix-list"
|
||||
|
@ -190,9 +190,9 @@ struct route_map_index {
|
||||
/* List of match/sets contexts. */
|
||||
TAILQ_HEAD(, routemap_hook_context) rhclist;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(route_map_index)
|
||||
DECLARE_QOBJ_TYPE(route_map_index);
|
||||
|
||||
/* Route map list structure. */
|
||||
struct route_map {
|
||||
@ -225,9 +225,9 @@ struct route_map {
|
||||
struct route_table *ipv4_prefix_table;
|
||||
struct route_table *ipv6_prefix_table;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(route_map)
|
||||
DECLARE_QOBJ_TYPE(route_map);
|
||||
|
||||
/* Prototypes. */
|
||||
extern void route_map_init(void);
|
||||
|
@ -45,7 +45,7 @@
|
||||
DEFINE_MTYPE_STATIC(LIB, VRF, "VRF");
|
||||
DEFINE_MTYPE_STATIC(LIB, VRF_BITMAP, "VRF bit-map");
|
||||
|
||||
DEFINE_QOBJ_TYPE(vrf)
|
||||
DEFINE_QOBJ_TYPE(vrf);
|
||||
|
||||
static __inline int vrf_id_compare(const struct vrf *, const struct vrf *);
|
||||
static __inline int vrf_name_compare(const struct vrf *, const struct vrf *);
|
||||
|
@ -95,13 +95,13 @@ struct vrf {
|
||||
/* Back pointer to namespace context */
|
||||
void *ns_ctxt;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
RB_HEAD(vrf_id_head, vrf);
|
||||
RB_PROTOTYPE(vrf_id_head, vrf, id_entry, vrf_id_compare)
|
||||
RB_HEAD(vrf_name_head, vrf);
|
||||
RB_PROTOTYPE(vrf_name_head, vrf, name_entry, vrf_name_compare)
|
||||
DECLARE_QOBJ_TYPE(vrf)
|
||||
DECLARE_QOBJ_TYPE(vrf);
|
||||
|
||||
/* Allow VRF with netns as backend */
|
||||
enum vrf_backend_type {
|
||||
|
@ -46,7 +46,7 @@
|
||||
#include "lib/json.h"
|
||||
|
||||
DEFINE_MTYPE_STATIC(OSPF6D, CFG_PLIST_NAME, "configured prefix list names");
|
||||
DEFINE_QOBJ_TYPE(ospf6_interface)
|
||||
DEFINE_QOBJ_TYPE(ospf6_interface);
|
||||
DEFINE_HOOK(ospf6_interface_change,
|
||||
(struct ospf6_interface * oi, int state, int old_state),
|
||||
(oi, state, old_state));
|
||||
|
@ -134,9 +134,9 @@ struct ospf6_interface {
|
||||
uint32_t ls_ack_out;
|
||||
uint32_t discarded;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(ospf6_interface)
|
||||
DECLARE_QOBJ_TYPE(ospf6_interface);
|
||||
|
||||
/* interface state */
|
||||
#define OSPF6_INTERFACE_NONE 0
|
||||
|
@ -53,7 +53,7 @@
|
||||
#include "ospf6d.h"
|
||||
#include "lib/json.h"
|
||||
|
||||
DEFINE_QOBJ_TYPE(ospf6)
|
||||
DEFINE_QOBJ_TYPE(ospf6);
|
||||
|
||||
FRR_CFG_DEFAULT_BOOL(OSPF6_LOG_ADJACENCY_CHANGES,
|
||||
{ .val_bool = true, .match_profile = "datacenter", },
|
||||
|
@ -132,9 +132,9 @@ struct ospf6 {
|
||||
*/
|
||||
uint16_t max_multipath;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(ospf6)
|
||||
DECLARE_QOBJ_TYPE(ospf6);
|
||||
|
||||
#define OSPF6_DISABLED 0x01
|
||||
#define OSPF6_STUB_ROUTER 0x02
|
||||
|
@ -49,7 +49,7 @@
|
||||
#include "ospfd/ospf_dump.h"
|
||||
#include "ospfd/ospf_ldp_sync.h"
|
||||
|
||||
DEFINE_QOBJ_TYPE(ospf_interface)
|
||||
DEFINE_QOBJ_TYPE(ospf_interface);
|
||||
DEFINE_HOOK(ospf_vl_add, (struct ospf_vl_data * vd), (vd));
|
||||
DEFINE_HOOK(ospf_vl_delete, (struct ospf_vl_data * vd), (vd));
|
||||
DEFINE_HOOK(ospf_if_update, (struct interface * ifp), (ifp));
|
||||
|
@ -252,9 +252,9 @@ struct ospf_interface {
|
||||
|
||||
uint32_t full_nbrs;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(ospf_interface)
|
||||
DECLARE_QOBJ_TYPE(ospf_interface);
|
||||
|
||||
/* Prototypes. */
|
||||
extern char *ospf_if_name(struct ospf_interface *);
|
||||
|
@ -62,7 +62,7 @@
|
||||
#include "ospfd/ospf_gr_helper.h"
|
||||
|
||||
|
||||
DEFINE_QOBJ_TYPE(ospf)
|
||||
DEFINE_QOBJ_TYPE(ospf);
|
||||
|
||||
/* OSPF process wide configuration. */
|
||||
static struct ospf_master ospf_master;
|
||||
|
@ -386,9 +386,9 @@ struct ospf {
|
||||
bool ti_lfa_enabled;
|
||||
enum protection_type ti_lfa_protection_type;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(ospf)
|
||||
DECLARE_QOBJ_TYPE(ospf);
|
||||
|
||||
enum ospf_ti_lfa_p_q_space_adjacency {
|
||||
OSPF_TI_LFA_P_Q_SPACE_ADJACENT,
|
||||
|
@ -51,7 +51,7 @@ RB_GENERATE(pbr_map_entry_head, pbr_map, pbr_map_entry, pbr_map_compare)
|
||||
|
||||
struct pbr_map_entry_head pbr_maps = RB_INITIALIZER(&pbr_maps);
|
||||
|
||||
DEFINE_QOBJ_TYPE(pbr_map_sequence)
|
||||
DEFINE_QOBJ_TYPE(pbr_map_sequence);
|
||||
|
||||
static inline int pbr_map_compare(const struct pbr_map *pbrmap1,
|
||||
const struct pbr_map *pbrmap2)
|
||||
|
@ -149,10 +149,10 @@ struct pbr_map_sequence {
|
||||
#define PBR_MAP_INVALID_VRF (1 << 5)
|
||||
uint64_t reason;
|
||||
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
|
||||
DECLARE_QOBJ_TYPE(pbr_map_sequence)
|
||||
DECLARE_QOBJ_TYPE(pbr_map_sequence);
|
||||
|
||||
extern struct pbr_map_entry_head pbr_maps;
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
|
||||
DEFINE_MTYPE_STATIC(LIB, PW, "Pseudowire");
|
||||
|
||||
DEFINE_QOBJ_TYPE(zebra_pw)
|
||||
DEFINE_QOBJ_TYPE(zebra_pw);
|
||||
|
||||
DEFINE_HOOK(pw_install, (struct zebra_pw * pw), (pw));
|
||||
DEFINE_HOOK(pw_uninstall, (struct zebra_pw * pw), (pw));
|
||||
|
@ -53,9 +53,9 @@ struct zebra_pw {
|
||||
struct zserv *client;
|
||||
struct rnh *rnh;
|
||||
struct thread *install_retry_timer;
|
||||
QOBJ_FIELDS
|
||||
QOBJ_FIELDS;
|
||||
};
|
||||
DECLARE_QOBJ_TYPE(zebra_pw)
|
||||
DECLARE_QOBJ_TYPE(zebra_pw);
|
||||
|
||||
RB_HEAD(zebra_pw_head, zebra_pw);
|
||||
RB_PROTOTYPE(zebra_pw_head, zebra_pw, pw_entry, zebra_pw_compare);
|
||||
|
Loading…
Reference in New Issue
Block a user