diff options
145 files changed, 2188 insertions, 1570 deletions
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c index 4e55c5f264..1e68c7d53b 100644 --- a/bgpd/bgp_aspath.c +++ b/bgpd/bgp_aspath.c @@ -878,8 +878,9 @@ size_t aspath_put(struct stream *s, struct aspath *as, int use32bit) * The general assumption here is that many things tested will * never happen. And, in real live, up to now, they have not. */ - while (seg && (ASSEGMENT_LEN(seg, use32bit) - <= STREAM_WRITEABLE(s))) { + while (seg + && (ASSEGMENT_LEN(seg, use32bit) + <= STREAM_WRITEABLE(s))) { struct assegment *next = seg->next; int written = 0; int asns_packed = 0; @@ -1584,12 +1585,14 @@ int aspath_cmp_left(const struct aspath *aspath1, const struct aspath *aspath2) return 1; /* find first non-confed segments for each */ - while (seg1 && ((seg1->type == AS_CONFED_SEQUENCE) - || (seg1->type == AS_CONFED_SET))) + while (seg1 + && ((seg1->type == AS_CONFED_SEQUENCE) + || (seg1->type == AS_CONFED_SET))) seg1 = seg1->next; - while (seg2 && ((seg2->type == AS_CONFED_SEQUENCE) - || (seg2->type == AS_CONFED_SET))) + while (seg2 + && ((seg2->type == AS_CONFED_SEQUENCE) + || (seg2->type == AS_CONFED_SET))) seg2 = seg2->next; /* Check as1's */ @@ -2066,7 +2069,8 @@ static void aspath_show_all_iterator(struct hash_backet *backet, `show [ip] bgp paths' command. */ void aspath_print_all_vty(struct vty *vty) { - hash_iterate(ashash, (void (*)(struct hash_backet *, - void *))aspath_show_all_iterator, + hash_iterate(ashash, + (void (*)(struct hash_backet *, + void *))aspath_show_all_iterator, vty); } diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 79d215f1bd..508deb1d34 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -82,15 +82,14 @@ static const struct message attr_str[] = { {BGP_ATTR_PREFIX_SID, "PREFIX_SID"}, {0}}; -static const struct message attr_flag_str[] = - { - {BGP_ATTR_FLAG_OPTIONAL, "Optional"}, - {BGP_ATTR_FLAG_TRANS, "Transitive"}, - {BGP_ATTR_FLAG_PARTIAL, "Partial"}, - /* bgp_attr_flags_diagnose() relies on this bit being last in - this list */ - {BGP_ATTR_FLAG_EXTLEN, "Extended Length"}, - {0}}; +static const struct message attr_flag_str[] = { + {BGP_ATTR_FLAG_OPTIONAL, "Optional"}, + {BGP_ATTR_FLAG_TRANS, "Transitive"}, + {BGP_ATTR_FLAG_PARTIAL, "Partial"}, + /* bgp_attr_flags_diagnose() relies on this bit being last in + this list */ + {BGP_ATTR_FLAG_EXTLEN, "Extended Length"}, + {0}}; static struct hash *cluster_hash; @@ -680,9 +679,10 @@ static void attr_show_all_iterator(struct hash_backet *backet, struct vty *vty) void attr_show_all(struct vty *vty) { - hash_iterate(attrhash, (void (*)(struct hash_backet *, - void *))attr_show_all_iterator, - vty); + hash_iterate( + attrhash, + (void (*)(struct hash_backet *, void *))attr_show_all_iterator, + vty); } static void *bgp_attr_hash_alloc(void *p) @@ -1055,7 +1055,7 @@ bgp_attr_malformed(struct bgp_attr_parser_args *args, u_char subcode, static void bgp_attr_flags_diagnose(struct bgp_attr_parser_args *args, u_int8_t desired_flags /* how RFC says it must be */ - ) +) { u_char seen = 0, i; u_char real_flags = args->flags; @@ -1087,30 +1087,26 @@ bgp_attr_flags_diagnose(struct bgp_attr_parser_args *args, * as will PARTIAL for optional+transitive attributes. */ const u_int8_t attr_flags_values[] = { - [BGP_ATTR_ORIGIN] = BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_AS_PATH] = BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_NEXT_HOP] = BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_MULTI_EXIT_DISC] = BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_LOCAL_PREF] = BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_ATOMIC_AGGREGATE] = BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_AGGREGATOR] = - BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_COMMUNITIES] = - BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_ORIGINATOR_ID] = BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_CLUSTER_LIST] = BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_MP_REACH_NLRI] = BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_MP_UNREACH_NLRI] = BGP_ATTR_FLAG_OPTIONAL, - [BGP_ATTR_EXT_COMMUNITIES] = - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_AS4_PATH] = - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_AS4_AGGREGATOR] = - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_LARGE_COMMUNITIES] = - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, - [BGP_ATTR_PREFIX_SID] = - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_ORIGIN] = BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_AS_PATH] = BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_NEXT_HOP] = BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_MULTI_EXIT_DISC] = BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_LOCAL_PREF] = BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_ATOMIC_AGGREGATE] = BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_AGGREGATOR] = BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_COMMUNITIES] = BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_ORIGINATOR_ID] = BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_CLUSTER_LIST] = BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_MP_REACH_NLRI] = BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_MP_UNREACH_NLRI] = BGP_ATTR_FLAG_OPTIONAL, + [BGP_ATTR_EXT_COMMUNITIES] = + BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_AS4_PATH] = BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_AS4_AGGREGATOR] = + BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_LARGE_COMMUNITIES] = + BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, + [BGP_ATTR_PREFIX_SID] = BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS, }; static const size_t attr_flags_values_max = array_size(attr_flags_values) - 1; @@ -2755,9 +2751,10 @@ static void bgp_packet_mpattr_tea(struct bgp *bgp, struct peer *peer, struct bgp_attr_encap_subtlv *st; const char *attrname; - if (!attr || (attrtype == BGP_ATTR_ENCAP - && (!attr->encap_tunneltype - || attr->encap_tunneltype == BGP_ENCAP_TYPE_MPLS))) + if (!attr + || (attrtype == BGP_ATTR_ENCAP + && (!attr->encap_tunneltype + || attr->encap_tunneltype == BGP_ENCAP_TYPE_MPLS))) return; switch (attrtype) { @@ -2804,9 +2801,8 @@ static void bgp_packet_mpattr_tea(struct bgp *bgp, struct peer *peer, if (attrlenfield > 0xff) { /* 2-octet length field */ - stream_putc(s, - BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, attrtype); stream_putw(s, attrlenfield & 0xffff); } else { @@ -3044,15 +3040,14 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer, if (CHECK_FLAG(peer->af_flags[afi][safi], PEER_FLAG_SEND_COMMUNITY) && (attr->flag & ATTR_FLAG_BIT(BGP_ATTR_COMMUNITIES))) { if (attr->community->size * 4 > 255) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, BGP_ATTR_COMMUNITIES); stream_putw(s, attr->community->size * 4); } else { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_COMMUNITIES); stream_putc(s, attr->community->size * 4); } @@ -3066,15 +3061,14 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer, PEER_FLAG_SEND_LARGE_COMMUNITY) && (attr->flag & ATTR_FLAG_BIT(BGP_ATTR_LARGE_COMMUNITIES))) { if (attr->lcommunity->size * 12 > 255) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, BGP_ATTR_LARGE_COMMUNITIES); stream_putw(s, attr->lcommunity->size * 12); } else { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_LARGE_COMMUNITIES); stream_putc(s, attr->lcommunity->size * 12); } @@ -3126,16 +3120,14 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer, if (peer->sort == BGP_PEER_IBGP || peer->sort == BGP_PEER_CONFED) { if (attr->ecommunity->size * 8 > 255) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, BGP_ATTR_EXT_COMMUNITIES); stream_putw(s, attr->ecommunity->size * 8); } else { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_EXT_COMMUNITIES); stream_putc(s, attr->ecommunity->size * 8); } @@ -3201,9 +3193,8 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer, label_index = attr->label_index; if (label_index != BGP_INVALID_LABEL_INDEX) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_PREFIX_SID); stream_putc(s, 10); stream_putc(s, BGP_PREFIX_SID_LABEL_INDEX); @@ -3231,9 +3222,8 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer, */ aspath = aspath_delete_confed_seq(aspath); - stream_putc(s, - BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, BGP_ATTR_AS4_PATH); aspath_sizep = stream_get_endp(s); stream_putw(s, 0); @@ -3418,15 +3408,14 @@ void bgp_dump_routes_attr(struct stream *s, struct attr *attr, /* Community attribute. */ if (attr->flag & ATTR_FLAG_BIT(BGP_ATTR_COMMUNITIES)) { if (attr->community->size * 4 > 255) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, BGP_ATTR_COMMUNITIES); stream_putw(s, attr->community->size * 4); } else { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_COMMUNITIES); stream_putc(s, attr->community->size * 4); } @@ -3436,15 +3425,14 @@ void bgp_dump_routes_attr(struct stream *s, struct attr *attr, /* Large Community attribute. */ if (attr->flag & ATTR_FLAG_BIT(BGP_ATTR_LARGE_COMMUNITIES)) { if (attr->lcommunity->size * 12 > 255) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_TRANS - | BGP_ATTR_FLAG_EXTLEN); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS + | BGP_ATTR_FLAG_EXTLEN); stream_putc(s, BGP_ATTR_LARGE_COMMUNITIES); stream_putw(s, attr->lcommunity->size * 12); } else { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_LARGE_COMMUNITIES); stream_putc(s, attr->lcommunity->size * 12); } @@ -3489,9 +3477,8 @@ void bgp_dump_routes_attr(struct stream *s, struct attr *attr, /* Prefix SID */ if (attr->flag & ATTR_FLAG_BIT(BGP_ATTR_PREFIX_SID)) { if (attr->label_index != BGP_INVALID_LABEL_INDEX) { - stream_putc(s, - BGP_ATTR_FLAG_OPTIONAL - | BGP_ATTR_FLAG_TRANS); + stream_putc(s, BGP_ATTR_FLAG_OPTIONAL + | BGP_ATTR_FLAG_TRANS); stream_putc(s, BGP_ATTR_PREFIX_SID); stream_putc(s, 10); stream_putc(s, BGP_PREFIX_SID_LABEL_INDEX); diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h index 324813c085..c9f0d6f4eb 100644 --- a/bgpd/bgp_attr.h +++ b/bgpd/bgp_attr.h @@ -220,7 +220,7 @@ typedef enum { BGP_ATTR_PARSE_WITHDRAW = -2, /* only used internally, send notify + convert to BGP_ATTR_PARSE_ERROR - */ + */ BGP_ATTR_PARSE_ERROR_NOTIFYPLS = -3, } bgp_attr_parse_ret_t; diff --git a/bgpd/bgp_bfd.c b/bgpd/bgp_bfd.c index 2e277bfa5f..9b5202ff91 100644 --- a/bgpd/bgp_bfd.c +++ b/bgpd/bgp_bfd.c @@ -212,8 +212,9 @@ static void bgp_bfd_update_type(struct peer *peer) if ((multihop && !CHECK_FLAG(bfd_info->flags, BFD_FLAG_BFD_TYPE_MULTIHOP)) - || (!multihop && CHECK_FLAG(bfd_info->flags, - BFD_FLAG_BFD_TYPE_MULTIHOP))) { + || (!multihop + && CHECK_FLAG(bfd_info->flags, + BFD_FLAG_BFD_TYPE_MULTIHOP))) { bgp_bfd_peer_sendmsg(peer, ZEBRA_BFD_DEST_DEREGISTER); bgp_bfd_peer_sendmsg(peer, ZEBRA_BFD_DEST_REGISTER); } diff --git a/bgpd/bgp_btoa.c b/bgpd/bgp_btoa.c index 4faebb538e..e29f72b747 100644 --- a/bgpd/bgp_btoa.c +++ b/bgpd/bgp_btoa.c @@ -36,7 +36,9 @@ /* privileges */ static zebra_capabilities_t _caps_p[] = { - ZCAP_BIND, ZCAP_NET_RAW, ZCAP_NET_ADMIN, + ZCAP_BIND, + ZCAP_NET_RAW, + ZCAP_NET_ADMIN, }; struct zebra_privs_t bgpd_privs = { diff --git a/bgpd/bgp_damp.c b/bgpd/bgp_damp.c index bd3ae27c05..e3ab943792 100644 --- a/bgpd/bgp_damp.c +++ b/bgpd/bgp_damp.c @@ -369,10 +369,9 @@ static void bgp_damp_parameter_set(int hlife, int reuse, int sup, int maxsup) /* Initialize params per bgp_damp_config. */ damp->reuse_index_size = REUSE_ARRAY_SIZE; - damp->ceiling = - (int)(damp->reuse_limit * (pow(2, - (double)damp->max_suppress_time - / damp->half_life))); + damp->ceiling = (int)(damp->reuse_limit + * (pow(2, (double)damp->max_suppress_time + / damp->half_life))); /* Decay-array computations */ damp->decay_array_size = @@ -414,9 +413,11 @@ static void bgp_damp_parameter_set(int hlife, int reuse, int sup, int maxsup) for (i = 0; i < damp->reuse_index_size; i++) { damp->reuse_index[i] = (int)(((double)damp->half_life / DELTA_REUSE) - * log10(1.0 / (damp->reuse_limit - * (1.0 + ((double)i - / damp->scale_factor)))) + * log10(1.0 + / (damp->reuse_limit + * (1.0 + + ((double)i + / damp->scale_factor)))) / log10(0.5)); } } diff --git a/bgpd/bgp_dump.c b/bgpd/bgp_dump.c index 0831369062..d1d06f36ba 100644 --- a/bgpd/bgp_dump.c +++ b/bgpd/bgp_dump.c @@ -244,9 +244,8 @@ static void bgp_dump_routes_index_table(struct bgp *bgp) /* Populate fake peer at index 0, for locally originated routes */ /* Peer type (IPv4) */ - stream_putc(obuf, - TABLE_DUMP_V2_PEER_INDEX_TABLE_AS4 - + TABLE_DUMP_V2_PEER_INDEX_TABLE_IP); + stream_putc(obuf, TABLE_DUMP_V2_PEER_INDEX_TABLE_AS4 + + TABLE_DUMP_V2_PEER_INDEX_TABLE_IP); /* Peer BGP ID (0.0.0.0) */ stream_putl(obuf, 0); /* Peer IP address (0.0.0.0) */ diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index f0081e6d02..4d1e690f9c 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -2718,9 +2718,10 @@ int bgp_evpn_local_vni_add(struct bgp *bgp, vni_t vni, */ void bgp_evpn_cleanup_on_disable(struct bgp *bgp) { - hash_iterate(bgp->vnihash, (void (*)(struct hash_backet *, - void *))cleanup_vni_on_disable, - bgp); + hash_iterate( + bgp->vnihash, + (void (*)(struct hash_backet *, void *))cleanup_vni_on_disable, + bgp); } /* @@ -2730,9 +2731,10 @@ void bgp_evpn_cleanup_on_disable(struct bgp *bgp) void bgp_evpn_cleanup(struct bgp *bgp) { if (bgp->vnihash) - hash_iterate(bgp->vnihash, (void (*)(struct hash_backet *, - void *))free_vni_entry, - bgp); + hash_iterate( + bgp->vnihash, + (void (*)(struct hash_backet *, void *))free_vni_entry, + bgp); if (bgp->import_rt_hash) hash_free(bgp->import_rt_hash); bgp->import_rt_hash = NULL; diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 4b39ee8627..0e16fa2eae 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -1301,9 +1301,10 @@ static void evpn_show_routes_vni_all(struct vty *vty, struct bgp *bgp, wctx.bgp = bgp; wctx.vty = vty; wctx.vtep_ip = vtep_ip; - hash_iterate(bgp->vnihash, (void (*)(struct hash_backet *, - void *))show_vni_routes_hash, - &wctx); + hash_iterate( + bgp->vnihash, + (void (*)(struct hash_backet *, void *))show_vni_routes_hash, + &wctx); } /* diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index cf1cb18689..8275f3e89c 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -1394,9 +1394,8 @@ static int bgp_establish(struct peer *peer) } if (other == peer) - ret = - 1; /* bgp_establish specific code when xfer_conn - happens. */ + ret = 1; /* bgp_establish specific code when xfer_conn + happens. */ /* Reset capability open status flag. */ if (!CHECK_FLAG(peer->sflags, PEER_STATUS_CAPABILITY_OPEN)) diff --git a/bgpd/bgp_label.c b/bgpd/bgp_label.c index ad7411990e..88c77d978c 100644 --- a/bgpd/bgp_label.c +++ b/bgpd/bgp_label.c @@ -283,7 +283,7 @@ int bgp_nlri_parse_label(struct peer *peer, struct attr *attr, * an error SHOULD * be logged locally, and the prefix SHOULD be * ignored. - */ + */ zlog_err( "%s: IPv4 labeled-unicast NLRI is multicast address %s, ignoring", peer->host, inet_ntoa(p.u.prefix4)); diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c index 25a562ed68..319d28f3fb 100644 --- a/bgpd/bgp_main.c +++ b/bgpd/bgp_main.c @@ -101,7 +101,9 @@ static int retain_mode = 0; /* privileges */ static zebra_capabilities_t _caps_p[] = { - ZCAP_BIND, ZCAP_NET_RAW, ZCAP_NET_ADMIN, + ZCAP_BIND, + ZCAP_NET_RAW, + ZCAP_NET_ADMIN, }; struct zebra_privs_t bgpd_privs = { diff --git a/bgpd/bgp_mpath.c b/bgpd/bgp_mpath.c index 6dc6dc6769..a9346582ba 100644 --- a/bgpd/bgp_mpath.c +++ b/bgpd/bgp_mpath.c @@ -675,8 +675,9 @@ void bgp_info_mpath_aggregate_update(struct bgp_info *new_best, bgp_attr_dup(&attr, new_best->attr); - if (new_best->peer && bgp_flag_check(new_best->peer->bgp, - BGP_FLAG_MULTIPATH_RELAX_AS_SET)) { + if (new_best->peer + && bgp_flag_check(new_best->peer->bgp, + BGP_FLAG_MULTIPATH_RELAX_AS_SET)) { /* aggregate attribute from multipath constituents */ aspath = aspath_dup(attr.aspath); diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c index 5d2966d1ad..d56d62e6b9 100644 --- a/bgpd/bgp_mplsvpn.c +++ b/bgpd/bgp_mplsvpn.c @@ -612,8 +612,9 @@ int bgp_show_mpls_vpn(struct vty *vty, afi_t afi, struct prefix_rd *prd, if (use_json) { json_object_object_add(json, "routes", json_nroute); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (output_count == 0) diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 70299ea456..9c13869206 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -158,8 +158,9 @@ int bgp_set_socket_ttl(struct peer *peer, int bgp_sock) if (ret) { zlog_err( "%s: Can't set TxTTL on peer (rtrid %s) socket, err = %d", - __func__, inet_ntop(AF_INET, &peer->remote_id, - buf, sizeof(buf)), + __func__, + inet_ntop(AF_INET, &peer->remote_id, buf, + sizeof(buf)), errno); return ret; } @@ -172,8 +173,9 @@ int bgp_set_socket_ttl(struct peer *peer, int bgp_sock) if (ret) { zlog_err( "%s: Can't set TxTTL on peer (rtrid %s) socket, err = %d", - __func__, inet_ntop(AF_INET, &peer->remote_id, - buf, sizeof(buf)), + __func__, + inet_ntop(AF_INET, &peer->remote_id, buf, + sizeof(buf)), errno); return ret; } @@ -182,8 +184,9 @@ int bgp_set_socket_ttl(struct peer *peer, int bgp_sock) if (ret) { zlog_err( "%s: Can't set MinTTL on peer (rtrid %s) socket, err = %d", - __func__, inet_ntop(AF_INET, &peer->remote_id, - buf, sizeof(buf)), + __func__, + inet_ntop(AF_INET, &peer->remote_id, buf, + sizeof(buf)), errno); return ret; } diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index b18a4b7c46..d31e54c672 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -744,18 +744,18 @@ static const struct message capcode_str[] = { /* Minimum sizes for length field of each cap (so not inc. the header) */ static const size_t cap_minsizes[] = { - [CAPABILITY_CODE_MP] = CAPABILITY_CODE_MP_LEN, - [CAPABILITY_CODE_REFRESH] = CAPABILITY_CODE_REFRESH_LEN, - [CAPABILITY_CODE_ORF] = CAPABILITY_CODE_ORF_LEN, - [CAPABILITY_CODE_RESTART] = CAPABILITY_CODE_RESTART_LEN, - [CAPABILITY_CODE_AS4] = CAPABILITY_CODE_AS4_LEN, - [CAPABILITY_CODE_ADDPATH] = CAPABILITY_CODE_ADDPATH_LEN, - [CAPABILITY_CODE_DYNAMIC] = CAPABILITY_CODE_DYNAMIC_LEN, - [CAPABILITY_CODE_DYNAMIC_OLD] = CAPABILITY_CODE_DYNAMIC_LEN, - [CAPABILITY_CODE_ENHE] = CAPABILITY_CODE_ENHE_LEN, - [CAPABILITY_CODE_REFRESH_OLD] = CAPABILITY_CODE_REFRESH_LEN, - [CAPABILITY_CODE_ORF_OLD] = CAPABILITY_CODE_ORF_LEN, - [CAPABILITY_CODE_FQDN] = CAPABILITY_CODE_MIN_FQDN_LEN, + [CAPABILITY_CODE_MP] = CAPABILITY_CODE_MP_LEN, + [CAPABILITY_CODE_REFRESH] = CAPABILITY_CODE_REFRESH_LEN, + [CAPABILITY_CODE_ORF] = CAPABILITY_CODE_ORF_LEN, + [CAPABILITY_CODE_RESTART] = CAPABILITY_CODE_RESTART_LEN, + [CAPABILITY_CODE_AS4] = CAPABILITY_CODE_AS4_LEN, + [CAPABILITY_CODE_ADDPATH] = CAPABILITY_CODE_ADDPATH_LEN, + [CAPABILITY_CODE_DYNAMIC] = CAPABILITY_CODE_DYNAMIC_LEN, + [CAPABILITY_CODE_DYNAMIC_OLD] = CAPABILITY_CODE_DYNAMIC_LEN, + [CAPABILITY_CODE_ENHE] = CAPABILITY_CODE_ENHE_LEN, + [CAPABILITY_CODE_REFRESH_OLD] = CAPABILITY_CODE_REFRESH_LEN, + [CAPABILITY_CODE_ORF_OLD] = CAPABILITY_CODE_ORF_LEN, + [CAPABILITY_CODE_FQDN] = CAPABILITY_CODE_MIN_FQDN_LEN, }; /* value the capability must be a multiple of. @@ -764,18 +764,12 @@ static const size_t cap_minsizes[] = { * table should be set to 1. */ static const size_t cap_modsizes[] = { - [CAPABILITY_CODE_MP] = 4, - [CAPABILITY_CODE_REFRESH] = 1, - [CAPABILITY_CODE_ORF] = 1, - [CAPABILITY_CODE_RESTART] = 1, - [CAPABILITY_CODE_AS4] = 4, - [CAPABILITY_CODE_ADDPATH] = 4, - [CAPABILITY_CODE_DYNAMIC] = 1, - [CAPABILITY_CODE_DYNAMIC_OLD] = 1, - [CAPABILITY_CODE_ENHE] = 6, - [CAPABILITY_CODE_REFRESH_OLD] = 1, - [CAPABILITY_CODE_ORF_OLD] = 1, - [CAPABILITY_CODE_FQDN] = 1, + [CAPABILITY_CODE_MP] = 4, [CAPABILITY_CODE_REFRESH] = 1, + [CAPABILITY_CODE_ORF] = 1, [CAPABILITY_CODE_RESTART] = 1, + [CAPABILITY_CODE_AS4] = 4, [CAPABILITY_CODE_ADDPATH] = 4, + [CAPABILITY_CODE_DYNAMIC] = 1, [CAPABILITY_CODE_DYNAMIC_OLD] = 1, + [CAPABILITY_CODE_ENHE] = 6, [CAPABILITY_CODE_REFRESH_OLD] = 1, + [CAPABILITY_CODE_ORF_OLD] = 1, [CAPABILITY_CODE_FQDN] = 1, }; /** @@ -1315,9 +1309,8 @@ void bgp_open_capability(struct stream *s, struct peer *peer) */ SET_FLAG(peer->cap, PEER_CAP_ENHE_ADV); stream_putc(s, BGP_OPEN_OPT_CAP); - stream_putc(s, - CAPABILITY_CODE_ENHE_LEN - + 2); + stream_putc(s, CAPABILITY_CODE_ENHE_LEN + + 2); stream_putc(s, CAPABILITY_CODE_ENHE); stream_putc(s, CAPABILITY_CODE_ENHE_LEN); diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 2860113d18..30b85d25cd 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -547,9 +547,8 @@ void bgp_open_send(struct peer *peer) /* Set open packet values. */ stream_putc(s, BGP_VERSION_4); /* BGP version */ - stream_putw(s, - (local_as <= BGP_AS_MAX) ? (u_int16_t)local_as - : BGP_AS_TRANS); + stream_putw(s, (local_as <= BGP_AS_MAX) ? (u_int16_t)local_as + : BGP_AS_TRANS); stream_putw(s, send_holdtime); /* Hold Time */ stream_put_in_addr(s, &peer->local_id); /* BGP Identifier */ diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 38ad7a6e0a..1c1c95525c 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -1916,8 +1916,9 @@ int subgroup_process_announce_selected(struct update_subgroup *subgrp, : NULL); /* First update is deferred until ORF or ROUTE-REFRESH is received */ - if (onlypeer && CHECK_FLAG(onlypeer->af_sflags[afi][safi], - PEER_STATUS_ORF_WAIT_REFRESH)) + if (onlypeer + && CHECK_FLAG(onlypeer->af_sflags[afi][safi], + PEER_STATUS_ORF_WAIT_REFRESH)) return 0; memset(&attr, 0, sizeof(struct attr)); @@ -3868,7 +3869,7 @@ int bgp_nlri_parse_ip(struct peer *peer, struct attr *attr, * an error SHOULD * be logged locally, and the prefix SHOULD be * ignored. - */ + */ zlog_err( "%s: IPv4 unicast NLRI is multicast address %s, ignoring", peer->host, inet_ntoa(p.u.prefix4)); @@ -5209,14 +5210,16 @@ DEFUN (no_bgp_network_mask_natural, } ALIAS(no_bgp_network, no_bgp_network_label_index_cmd, - "no network A.B.C.D/M label-index (0-1048560)", NO_STR + "no network A.B.C.D/M label-index (0-1048560)", + NO_STR "Specify a network to announce via BGP\n" "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" "Label index to associate with the prefix\n" "Label index value\n") ALIAS(no_bgp_network, no_bgp_network_label_index_route_map_cmd, - "no network A.B.C.D/M label-index (0-1048560) route-map WORD", NO_STR + "no network A.B.C.D/M label-index (0-1048560) route-map WORD", + NO_STR "Specify a network to announce via BGP\n" "IP prefix\n" "Label index to associate with the prefix\n" @@ -5298,14 +5301,16 @@ DEFUN (no_ipv6_bgp_network, } ALIAS(no_ipv6_bgp_network, no_ipv6_bgp_network_label_index_cmd, - "no network X:X::X:X/M label-index (0-1048560)", NO_STR + "no network X:X::X:X/M label-index (0-1048560)", + NO_STR "Specify a network to announce via BGP\n" "IPv6 prefix <network>/<length>\n" "Label index to associate with the prefix\n" "Label index value\n") ALIAS(no_ipv6_bgp_network, no_ipv6_bgp_network_label_index_route_map_cmd, - "no network X:X::X:X/M label-index (0-1048560) route-map WORD", NO_STR + "no network X:X::X:X/M label-index (0-1048560) route-map WORD", + NO_STR "Specify a network to announce via BGP\n" "IPv6 prefix\n" "Label index to associate with the prefix\n" @@ -6505,11 +6510,10 @@ void route_vty_out(struct vty *vty, struct prefix *p, struct bgp_info *binfo, len = vty_out( vty, "%s", binfo->peer->conf_if); - len = - 7 - len; /* len of IPv6 - addr + max - len of def - ifname */ + len = 7 - len; /* len of IPv6 + addr + max + len of def + ifname */ if (len < 1) vty_out(vty, "\n%*s", @@ -6996,9 +7000,10 @@ static void damp_route_vty_out(struct vty *vty, struct prefix *p, bgp_damp_reuse_time_vty(vty, binfo, timebuf, BGP_UPTIME_LEN, use_json, json); else - vty_out(vty, "%s ", bgp_damp_reuse_time_vty(vty, binfo, timebuf, - BGP_UPTIME_LEN, - use_json, json)); + vty_out(vty, "%s ", + bgp_damp_reuse_time_vty(vty, binfo, timebuf, + BGP_UPTIME_LEN, use_json, + json)); /* Print attribute */ attr = binfo->attr; @@ -7077,8 +7082,9 @@ static void flap_route_vty_out(struct vty *vty, struct prefix *p, peer_uptime(bdi->start_time, timebuf, BGP_UPTIME_LEN, use_json, json); else - vty_out(vty, "%s ", peer_uptime(bdi->start_time, timebuf, - BGP_UPTIME_LEN, 0, NULL)); + vty_out(vty, "%s ", + peer_uptime(bdi->start_time, timebuf, BGP_UPTIME_LEN, 0, + NULL)); if (CHECK_FLAG(binfo->flags, BGP_INFO_DAMPED) && !CHECK_FLAG(binfo->flags, BGP_INFO_HISTORY)) { @@ -8598,8 +8604,9 @@ static int bgp_show_route_in_table(struct vty *vty, struct bgp *bgp, if (display) json_object_object_add(json, "paths", json_paths); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (!display) { @@ -9269,21 +9276,20 @@ enum bgp_stats { }; static const char *table_stats_strs[] = { - [BGP_STATS_PREFIXES] = "Total Prefixes", - [BGP_STATS_TOTPLEN] = "Average prefix length", - [BGP_STATS_RIB] = "Total Advertisements", - [BGP_STATS_UNAGGREGATEABLE] = "Unaggregateable prefixes", - [BGP_STATS_MAX_AGGREGATEABLE] = - "Maximum aggregateable prefixes", - [BGP_STATS_AGGREGATES] = "BGP Aggregate advertisements", - [BGP_STATS_SPACE] = "Address space advertised", - [BGP_STATS_ASPATH_COUNT] = "Advertisements with paths", - [BGP_STATS_ASPATH_MAXHOPS] = "Longest AS-Path (hops)", - [BGP_STATS_ASPATH_MAXSIZE] = "Largest AS-Path (bytes)", - [BGP_STATS_ASPATH_TOTHOPS] = "Average AS-Path length (hops)", - [BGP_STATS_ASPATH_TOTSIZE] = "Average AS-Path size (bytes)", - [BGP_STATS_ASN_HIGHEST] = "Highest public ASN", - [BGP_STATS_MAX] = NULL, + [BGP_STATS_PREFIXES] = "Total Prefixes", + [BGP_STATS_TOTPLEN] = "Average prefix length", + [BGP_STATS_RIB] = "Total Advertisements", + [BGP_STATS_UNAGGREGATEABLE] = "Unaggregateable prefixes", + [BGP_STATS_MAX_AGGREGATEABLE] = "Maximum aggregateable prefixes", + [BGP_STATS_AGGREGATES] = "BGP Aggregate advertisements", + [BGP_STATS_SPACE] = "Address space advertised", + [BGP_STATS_ASPATH_COUNT] = "Advertisements with paths", + [BGP_STATS_ASPATH_MAXHOPS] = "Longest AS-Path (hops)", + [BGP_STATS_ASPATH_MAXSIZE] = "Largest AS-Path (bytes)", + [BGP_STATS_ASPATH_TOTHOPS] = "Average AS-Path length (hops)", + [BGP_STATS_ASPATH_TOTSIZE] = "Average AS-Path size (bytes)", + [BGP_STATS_ASN_HIGHEST] = "Highest public ASN", + [BGP_STATS_MAX] = NULL, }; struct bgp_table_stats { @@ -9518,16 +9524,11 @@ enum bgp_pcounts { }; static const char *pcount_strs[] = { - [PCOUNT_ADJ_IN] = "Adj-in", - [PCOUNT_DAMPED] = "Damped", - [PCOUNT_REMOVED] = "Removed", - [PCOUNT_HISTORY] = "History", - [PCOUNT_STALE] = "Stale", - [PCOUNT_VALID] = "Valid", - [PCOUNT_ALL] = "All RIB", - [PCOUNT_COUNTED] = "PfxCt counted", - [PCOUNT_PFCNT] = "Useable", - [PCOUNT_MAX] = NULL, + [PCOUNT_ADJ_IN] = "Adj-in", [PCOUNT_DAMPED] = "Damped", + [PCOUNT_REMOVED] = "Removed", [PCOUNT_HISTORY] = "History", + [PCOUNT_STALE] = "Stale", [PCOUNT_VALID] = "Valid", + [PCOUNT_ALL] = "All RIB", [PCOUNT_COUNTED] = "PfxCt counted", + [PCOUNT_PFCNT] = "Useable", [PCOUNT_MAX] = NULL, }; struct peer_pcounts { @@ -9628,9 +9629,9 @@ static int bgp_peer_counts(struct vty *vty, struct peer *peer, afi_t afi, pcounts.table = peer->bgp->rib[afi][safi]; /* in-place call via thread subsystem so as to record execution time - * * stats for the thread-walk (i.e. ensure this can't be blamed on - * * on just vty_read()). - * */ + * * stats for the thread-walk (i.e. ensure this can't be blamed on + * * on just vty_read()). + * */ thread_execute(bm->master, bgp_peer_count_walker, &pcounts, 0); if (use_json) { @@ -9887,8 +9888,9 @@ static void show_adj_route(struct vty *vty, struct peer *peer, afi_t afi, "bgpOriginatingDefaultNetwork", "0.0.0.0"); } else { - vty_out(vty, "BGP table version is %" PRIu64 - ", local router ID is %s\n", + vty_out(vty, + "BGP table version is %" PRIu64 + ", local router ID is %s\n", table->version, inet_ntoa(bgp->router_id)); vty_out(vty, BGP_SHOW_SCODE_HEADER); vty_out(vty, BGP_SHOW_OCODE_HEADER); diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 1a1817bad3..cb4c9a21ee 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -97,10 +97,8 @@ struct bgp_info_extra { struct in6_addr addr6; } un; /* cached un address */ time_t create_time; - struct - prefix - aux_prefix; /* AFI_L2VPN: the IP addr, - if family set */ + struct prefix aux_prefix; /* AFI_L2VPN: the IP addr, + if family set */ } import; } vnc; diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index 285bb9a80c..8a9bd764ee 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -652,7 +652,10 @@ static route_map_result_t route_match_metric(void *rule, struct prefix *prefix, /* Route map commands for metric matching. */ struct route_map_rule_cmd route_match_metric_cmd = { - "metric", route_match_metric, route_value_compile, route_value_free, + "metric", + route_match_metric, + route_value_compile, + route_value_free, }; /* `match as-path ASPATH' */ @@ -1047,7 +1050,9 @@ static route_map_result_t route_match_tag(void *rule, struct prefix *prefix, /* Route map commands for tag matching. */ static struct route_map_rule_cmd route_match_tag_cmd = { - "tag", route_match_tag, route_map_rule_tag_compile, + "tag", + route_match_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -1192,7 +1197,9 @@ static route_map_result_t route_set_local_pref(void *rule, /* Set local preference rule structure. */ struct route_map_rule_cmd route_set_local_pref_cmd = { - "local-preference", route_set_local_pref, route_value_compile, + "local-preference", + route_set_local_pref, + route_value_compile, route_value_free, }; @@ -1221,7 +1228,10 @@ static route_map_result_t route_set_weight(void *rule, struct prefix *prefix, /* Set local preference rule structure. */ struct route_map_rule_cmd route_set_weight_cmd = { - "weight", route_set_weight, route_value_compile, route_value_free, + "weight", + route_set_weight, + route_value_compile, + route_value_free, }; /* `set metric METRIC' */ @@ -1253,7 +1263,10 @@ static route_map_result_t route_set_metric(void *rule, struct prefix *prefix, /* Set metric rule structure. */ struct route_map_rule_cmd route_set_metric_cmd = { - "metric", route_set_metric, route_value_compile, route_value_free, + "metric", + route_set_metric, + route_value_compile, + route_value_free, }; /* `set as-path prepend ASPATH' */ @@ -1311,8 +1324,10 @@ static void route_set_aspath_prepend_free(void *rule) /* Set as-path prepend rule structure. */ struct route_map_rule_cmd route_set_aspath_prepend_cmd = { - "as-path prepend", route_set_aspath_prepend, - route_set_aspath_prepend_compile, route_set_aspath_prepend_free, + "as-path prepend", + route_set_aspath_prepend, + route_set_aspath_prepend_compile, + route_set_aspath_prepend_free, }; /* `set as-path exclude ASn' */ @@ -1345,7 +1360,9 @@ static route_map_result_t route_set_aspath_exclude(void *rule, /* Set ASn exlude rule structure. */ struct route_map_rule_cmd route_set_aspath_exclude_cmd = { - "as-path exclude", route_set_aspath_exclude, route_aspath_compile, + "as-path exclude", + route_set_aspath_exclude, + route_aspath_compile, route_aspath_free, }; @@ -1458,7 +1475,9 @@ static void route_set_community_free(void *rule) /* Set community rule structure. */ struct route_map_rule_cmd route_set_community_cmd = { - "community", route_set_community, route_set_community_compile, + "community", + route_set_community, + route_set_community_compile, route_set_community_free, }; @@ -1576,7 +1595,9 @@ static void route_set_lcommunity_free(void *rule) /* Set community rule structure. */ struct route_map_rule_cmd route_set_lcommunity_cmd = { - "large-community", route_set_lcommunity, route_set_lcommunity_compile, + "large-community", + route_set_lcommunity, + route_set_lcommunity_compile, route_set_lcommunity_free, }; @@ -1659,8 +1680,10 @@ static void route_set_lcommunity_delete_free(void *rule) /* Set lcommunity rule structure. */ struct route_map_rule_cmd route_set_lcommunity_delete_cmd = { - "large-comm-list", route_set_lcommunity_delete, - route_set_lcommunity_delete_compile, route_set_lcommunity_delete_free, + "large-comm-list", + route_set_lcommunity_delete, + route_set_lcommunity_delete_compile, + route_set_lcommunity_delete_free, }; @@ -1743,8 +1766,10 @@ static void route_set_community_delete_free(void *rule) /* Set community rule structure. */ struct route_map_rule_cmd route_set_community_delete_cmd = { - "comm-list", route_set_community_delete, - route_set_community_delete_compile, route_set_community_delete_free, + "comm-list", + route_set_community_delete, + route_set_community_delete_compile, + route_set_community_delete_free, }; /* `set extcommunity rt COMMUNITY' */ @@ -1811,8 +1836,10 @@ static void route_set_ecommunity_free(void *rule) /* Set community rule structure. */ struct route_map_rule_cmd route_set_ecommunity_rt_cmd = { - "extcommunity rt", route_set_ecommunity, - route_set_ecommunity_rt_compile, route_set_ecommunity_free, + "extcommunity rt", + route_set_ecommunity, + route_set_ecommunity_rt_compile, + route_set_ecommunity_free, }; /* `set extcommunity soo COMMUNITY' */ @@ -1831,8 +1858,10 @@ static void *route_set_ecommunity_soo_compile(const char *arg) /* Set community rule structure. */ struct route_map_rule_cmd route_set_ecommunity_soo_cmd = { - "extcommunity soo", route_set_ecommunity, - route_set_ecommunity_soo_compile, route_set_ecommunity_free, + "extcommunity soo", + route_set_ecommunity, + route_set_ecommunity_soo_compile, + route_set_ecommunity_free, }; /* `set origin ORIGIN' */ @@ -1880,7 +1909,9 @@ static void route_set_origin_free(void *rule) /* Set origin rule structure. */ struct route_map_rule_cmd route_set_origin_cmd = { - "origin", route_set_origin, route_set_origin_compile, + "origin", + route_set_origin, + route_set_origin_compile, route_set_origin_free, }; @@ -1917,8 +1948,10 @@ static void route_set_atomic_aggregate_free(void *rule) /* Set atomic aggregate rule structure. */ struct route_map_rule_cmd route_set_atomic_aggregate_cmd = { - "atomic-aggregate", route_set_atomic_aggregate, - route_set_atomic_aggregate_compile, route_set_atomic_aggregate_free, + "atomic-aggregate", + route_set_atomic_aggregate, + route_set_atomic_aggregate_compile, + route_set_atomic_aggregate_free, }; /* `set aggregator as AS A.B.C.D' */ @@ -1973,8 +2006,10 @@ static void route_set_aggregator_as_free(void *rule) } struct route_map_rule_cmd route_set_aggregator_as_cmd = { - "aggregator as", route_set_aggregator_as, - route_set_aggregator_as_compile, route_set_aggregator_as_free, + "aggregator as", + route_set_aggregator_as, + route_set_aggregator_as_compile, + route_set_aggregator_as_free, }; /* Set tag to object. object must be pointer to struct bgp_info */ @@ -1997,7 +2032,9 @@ static route_map_result_t route_set_tag(void *rule, struct prefix *prefix, /* Route map commands for tag set. */ static struct route_map_rule_cmd route_set_tag_cmd = { - "tag", route_set_tag, route_map_rule_tag_compile, + "tag", + route_set_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -2030,7 +2067,9 @@ static route_map_result_t route_set_label_index(void *rule, /* Route map commands for label-index set. */ static struct route_map_rule_cmd route_set_label_index_cmd = { - "label-index", route_set_label_index, route_value_compile, + "label-index", + route_set_label_index, + route_value_compile, route_value_free, }; @@ -2557,8 +2596,10 @@ static void route_set_originator_id_free(void *rule) /* Set originator-id rule structure. */ struct route_map_rule_cmd route_set_originator_id_cmd = { - "originator-id", route_set_originator_id, - route_set_originator_id_compile, route_set_originator_id_free, + "originator-id", + route_set_originator_id, + route_set_originator_id_compile, + route_set_originator_id_free, }; /* Add bgp route map rule. */ diff --git a/bgpd/bgp_snmp.c b/bgpd/bgp_snmp.c index 8a9d61f305..50ced81644 100644 --- a/bgpd/bgp_snmp.c +++ b/bgpd/bgp_snmp.c @@ -864,8 +864,6 @@ static u_char *bgp4PathAttrTable(struct variable *v, oid name[], size_t *length, return SNMP_INTEGER(-1); break; case BGP4PATHATTRBEST: /* 13 */ - /* $FRR indent$ */ - /* clang-format off */ #define BGP4_PathAttrBest_false 1 #define BGP4_PathAttrBest_true 2 if (CHECK_FLAG(binfo->flags, BGP_INFO_SELECTED)) diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c index 77e6157150..b791bc1a1c 100644 --- a/bgpd/bgp_updgrp.c +++ b/bgpd/bgp_updgrp.c @@ -1121,8 +1121,8 @@ int update_subgroup_check_merge(struct update_subgroup *subgrp, } /* -* update_subgroup_merge_check_thread_cb -*/ + * update_subgroup_merge_check_thread_cb + */ static int update_subgroup_merge_check_thread_cb(struct thread *thread) { struct update_subgroup *subgrp; diff --git a/bgpd/bgp_updgrp.h b/bgpd/bgp_updgrp.h index 52a21679b8..d6c8055b64 100644 --- a/bgpd/bgp_updgrp.h +++ b/bgpd/bgp_updgrp.h @@ -267,7 +267,6 @@ struct update_subgroup { */ #define SUBGRP_DECR_STAT(subgrp, stat) SUBGRP_INCR_STAT_BY(subgrp, stat, -1) - typedef int (*updgrp_walkcb)(struct update_group *updgrp, void *ctx); /* really a private structure */ diff --git a/bgpd/bgp_updgrp_adv.c b/bgpd/bgp_updgrp_adv.c index 0a33fa5ed4..a0961d8cee 100644 --- a/bgpd/bgp_updgrp_adv.c +++ b/bgpd/bgp_updgrp_adv.c @@ -646,9 +646,10 @@ void subgroup_announce_route(struct update_subgroup *subgrp) */ onlypeer = ((SUBGRP_PCOUNT(subgrp) == 1) ? (SUBGRP_PFIRST(subgrp))->peer : NULL); - if (onlypeer && CHECK_FLAG(onlypeer->af_sflags[SUBGRP_AFI(subgrp)] - [SUBGRP_SAFI(subgrp)], - PEER_STATUS_ORF_WAIT_REFRESH)) + if (onlypeer + && CHECK_FLAG(onlypeer->af_sflags[SUBGRP_AFI(subgrp)] + [SUBGRP_SAFI(subgrp)], + PEER_STATUS_ORF_WAIT_REFRESH)) return; if (SUBGRP_SAFI(subgrp) != SAFI_MPLS_VPN diff --git a/bgpd/bgp_updgrp_packet.c b/bgpd/bgp_updgrp_packet.c index d7a4a36986..53d695167f 100644 --- a/bgpd/bgp_updgrp_packet.c +++ b/bgpd/bgp_updgrp_packet.c @@ -732,8 +732,9 @@ struct bpacket *subgroup_update_packet(struct update_subgroup *subgrp) space_remaining = STREAM_CONCAT_REMAIN(s, snlri, STREAM_SIZE(s)) - BGP_MAX_PACKET_SIZE_OVERFLOW; - space_needed = BGP_NLRI_LENGTH + bgp_packet_mpattr_prefix_size( - afi, safi, &rn->p); + space_needed = + BGP_NLRI_LENGTH + + bgp_packet_mpattr_prefix_size(afi, safi, &rn->p); /* When remaining space can't include NLRI and it's length. */ if (space_remaining < space_needed) @@ -777,9 +778,9 @@ struct bpacket *subgroup_update_packet(struct update_subgroup *subgrp) space_remaining = STREAM_CONCAT_REMAIN(s, snlri, STREAM_SIZE(s)) - BGP_MAX_PACKET_SIZE_OVERFLOW; - space_needed = - BGP_NLRI_LENGTH + bgp_packet_mpattr_prefix_size( - afi, safi, &rn->p); + space_needed = BGP_NLRI_LENGTH + + bgp_packet_mpattr_prefix_size( + afi, safi, &rn->p); /* If the attributes alone do not leave any room for * NLRI then diff --git a/bgpd/bgp_vpn.c b/bgpd/bgp_vpn.c index ca98ff0668..c9baf5af34 100644 --- a/bgpd/bgp_vpn.c +++ b/bgpd/bgp_vpn.c @@ -242,8 +242,9 @@ int show_adj_route_vpn(struct vty *vty, struct peer *peer, } if (use_json) { json_object_object_add(json, "routes", json_routes); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } return CMD_SUCCESS; diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 8ae015173f..353a3425a2 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -1470,7 +1470,8 @@ DEFUN (no_bgp_maxpaths, } ALIAS_HIDDEN(no_bgp_maxpaths, no_bgp_maxpaths_hidden_cmd, - "no maximum-paths [" CMD_RANGE_STR(1, MULTIPATH_NUM) "]", NO_STR + "no maximum-paths [" CMD_RANGE_STR(1, MULTIPATH_NUM) "]", + NO_STR "Forward packets over multiple paths\n" "Number of paths\n") @@ -6376,8 +6377,9 @@ DEFUN (show_bgp_vrfs, json_object_int_add(json, "totalVrfs", count); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (count) @@ -6471,17 +6473,20 @@ DEFUN (show_bgp_memory, /* Other attributes */ if ((count = community_count())) vty_out(vty, "%ld BGP community entries, using %s of memory\n", - count, mtype_memstr(memstrbuf, sizeof(memstrbuf), - count * sizeof(struct community))); + count, + mtype_memstr(memstrbuf, sizeof(memstrbuf), + count * sizeof(struct community))); if ((count = mtype_stats_alloc(MTYPE_ECOMMUNITY))) vty_out(vty, "%ld BGP community entries, using %s of memory\n", - count, mtype_memstr(memstrbuf, sizeof(memstrbuf), - count * sizeof(struct ecommunity))); + count, + mtype_memstr(memstrbuf, sizeof(memstrbuf), + count * sizeof(struct ecommunity))); if ((count = mtype_stats_alloc(MTYPE_LCOMMUNITY))) vty_out(vty, "%ld BGP large-community entries, using %s of memory\n", - count, mtype_memstr(memstrbuf, sizeof(memstrbuf), - count * sizeof(struct lcommunity))); + count, + mtype_memstr(memstrbuf, sizeof(memstrbuf), + count * sizeof(struct lcommunity))); if ((count = mtype_stats_alloc(MTYPE_CLUSTER))) vty_out(vty, "%ld Cluster lists, using %s of memory\n", count, @@ -6510,8 +6515,9 @@ DEFUN (show_bgp_memory, count * sizeof(struct hash_backet))); if ((count = mtype_stats_alloc(MTYPE_BGP_REGEXP))) vty_out(vty, "%ld compiled regexes, using %s of memory\n", - count, mtype_memstr(memstrbuf, sizeof(memstrbuf), - count * sizeof(regex_t))); + count, + mtype_memstr(memstrbuf, sizeof(memstrbuf), + count * sizeof(regex_t))); return CMD_SUCCESS; } @@ -6736,8 +6742,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi, ents); json_object_int_add( json, "peerGroupMemory", - ents * sizeof(struct - peer_group)); + ents + * sizeof(struct + peer_group)); } if (CHECK_FLAG(bgp->af_flags[afi][safi], @@ -6768,8 +6775,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi, mtype_memstr( memstrbuf, sizeof(memstrbuf), - ents * sizeof(struct - bgp_node))); + ents + * sizeof(struct + bgp_node))); /* Peer related usage */ ents = listcount(bgp->peer); @@ -6779,8 +6787,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi, mtype_memstr( memstrbuf, sizeof(memstrbuf), - ents * sizeof(struct - peer))); + ents + * sizeof(struct + peer))); if ((ents = listcount(bgp->group))) vty_out(vty, @@ -6789,8 +6798,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi, mtype_memstr( memstrbuf, sizeof(memstrbuf), - ents * sizeof(struct - peer_group))); + ents + * sizeof(struct + peer_group))); if (CHECK_FLAG(bgp->af_flags[afi][safi], BGP_CONFIG_DAMPENING)) @@ -6908,8 +6918,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi, vty_out(vty, "%*s", max_neighbor_width - len, " "); - vty_out(vty, "4 %10u %7d %7d %8" PRIu64 - " %4d %4zd %8s", + vty_out(vty, + "4 %10u %7d %7d %8" PRIu64 + " %4d %4zd %8s", peer->as, peer->open_in + peer->update_in + peer->keepalive_in @@ -6957,8 +6968,9 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi, json_object_int_add(json, "totalPeers", count); json_object_int_add(json, "dynamicPeers", dn_count); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (count) @@ -7053,10 +7065,9 @@ static void bgp_show_summary_afi_safi(struct vty *vty, struct bgp *bgp, int afi, } safi++; if (safi == SAFI_RESERVED_4 - || safi - == SAFI_RESERVED_5) /* handle special - cases to match - zebra.h */ + || safi == SAFI_RESERVED_5) /* handle special + cases to match + zebra.h */ safi++; if (!safi_wildcard) safi = SAFI_MAX; @@ -7615,8 +7626,9 @@ static void bgp_show_peer_afi(struct vty *vty, struct peer *p, afi_t afi, paf = peer_af_find(p, afi, safi); if (paf && PAF_SUBGRP(paf)) { - vty_out(vty, " Update group %" PRIu64 - ", subgroup %" PRIu64 "\n", + vty_out(vty, + " Update group %" PRIu64 ", subgroup %" PRIu64 + "\n", PAF_UPDGRP(paf)->id, PAF_SUBGRP(paf)->id); vty_out(vty, " Packet Queue length %d\n", bpacket_queue_virtual_length(paf)); @@ -9382,8 +9394,9 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, u_char use_json, } else vty_out(vty, " Reduce the no. of prefix from %s, will restart in %ld seconds\n", - p->host, thread_timer_remain_second( - p->t_pmax_restart)); + p->host, + thread_timer_remain_second( + p->t_pmax_restart)); } else { if (use_json) json_object_boolean_true_add( @@ -9623,8 +9636,9 @@ static int bgp_show_neighbor(struct vty *vty, struct bgp *bgp, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { vty_out(vty, "\n"); @@ -11079,31 +11093,45 @@ int bgp_config_write_redistribute(struct vty *vty, struct bgp *bgp, afi_t afi, /* BGP node structure. */ static struct cmd_node bgp_node = { - BGP_NODE, "%s(config-router)# ", 1, + BGP_NODE, + "%s(config-router)# ", + 1, }; static struct cmd_node bgp_ipv4_unicast_node = { - BGP_IPV4_NODE, "%s(config-router-af)# ", 1, + BGP_IPV4_NODE, + "%s(config-router-af)# ", + 1, }; static struct cmd_node bgp_ipv4_multicast_node = { - BGP_IPV4M_NODE, "%s(config-router-af)# ", 1, + BGP_IPV4M_NODE, + "%s(config-router-af)# ", + 1, }; static struct cmd_node bgp_ipv4_labeled_unicast_node = { - BGP_IPV4L_NODE, "%s(config-router-af)# ", 1, + BGP_IPV4L_NODE, + "%s(config-router-af)# ", + 1, }; static struct cmd_node bgp_ipv6_unicast_node = { - BGP_IPV6_NODE, "%s(config-router-af)# ", 1, + BGP_IPV6_NODE, + "%s(config-router-af)# ", + 1, }; static struct cmd_node bgp_ipv6_multicast_node = { - BGP_IPV6M_NODE, "%s(config-router-af)# ", 1, + BGP_IPV6M_NODE, + "%s(config-router-af)# ", + 1, }; static struct cmd_node bgp_ipv6_labeled_unicast_node = { - BGP_IPV6L_NODE, "%s(config-router-af)# ", 1, + BGP_IPV6L_NODE, + "%s(config-router-af)# ", + 1, }; static struct cmd_node bgp_vpnv4_node = {BGP_VPNV4_NODE, diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 8bf5477a61..be3c6eea3a 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -621,10 +621,12 @@ static int zebra_read_ipv4(int command, struct zclient *zclient, zlog_debug( "Rx IPv4 route add VRF %u %s[%d] %s/%d nexthop %s metric %u tag %" ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), - api.instance, inet_ntop(AF_INET, &p.prefix, - buf[0], sizeof(buf[0])), - p.prefixlen, inet_ntop(AF_INET, &nexthop, - buf[1], sizeof(buf[1])), + api.instance, + inet_ntop(AF_INET, &p.prefix, buf[0], + sizeof(buf[0])), + p.prefixlen, + inet_ntop(AF_INET, &nexthop, buf[1], + sizeof(buf[1])), api.metric, api.tag); } @@ -655,10 +657,12 @@ static int zebra_read_ipv4(int command, struct zclient *zclient, "Rx IPv4 route delete VRF %u %s[%d] %s/%d " "nexthop %s metric %u tag %" ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), - api.instance, inet_ntop(AF_INET, &p.prefix, - buf[0], sizeof(buf[0])), - p.prefixlen, inet_ntop(AF_INET, &nexthop, - buf[1], sizeof(buf[1])), + api.instance, + inet_ntop(AF_INET, &p.prefix, buf[0], + sizeof(buf[0])), + p.prefixlen, + inet_ntop(AF_INET, &nexthop, buf[1], + sizeof(buf[1])), api.metric, api.tag); } bgp_redistribute_delete(bgp, (struct prefix *)&p, api.type, @@ -748,10 +752,12 @@ static int zebra_read_ipv6(int command, struct zclient *zclient, zlog_debug( "Rx IPv6 route add VRF %u %s[%d] %s/%d nexthop %s metric %u tag %" ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), - api.instance, inet_ntop(AF_INET6, &p.prefix, - buf[0], sizeof(buf[0])), - p.prefixlen, inet_ntop(AF_INET, &nexthop, - buf[1], sizeof(buf[1])), + api.instance, + inet_ntop(AF_INET6, &p.prefix, buf[0], + sizeof(buf[0])), + p.prefixlen, + inet_ntop(AF_INET, &nexthop, buf[1], + sizeof(buf[1])), api.metric, api.tag); } @@ -781,10 +787,12 @@ static int zebra_read_ipv6(int command, struct zclient *zclient, "Rx IPv6 route delete VRF %u %s[%d] %s/%d " "nexthop %s metric %u tag %" ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), - api.instance, inet_ntop(AF_INET6, &p.prefix, - buf[0], sizeof(buf[0])), - p.prefixlen, inet_ntop(AF_INET6, &nexthop, - buf[1], sizeof(buf[1])), + api.instance, + inet_ntop(AF_INET6, &p.prefix, buf[0], + sizeof(buf[0])), + p.prefixlen, + inet_ntop(AF_INET6, &nexthop, buf[1], + sizeof(buf[1])), api.metric, api.tag); } bgp_redistribute_delete(bgp, (struct prefix *)&p, api.type, @@ -1316,8 +1324,9 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p, "Tx IPv4 route %s VRF %u %s/%d metric %u tag %" ROUTE_TAG_PRI " count %d", (valid_nh_count ? "add" : "delete"), - bgp->vrf_id, inet_ntop(AF_INET, &p->u.prefix4, - buf[0], sizeof(buf[0])), + bgp->vrf_id, + inet_ntop(AF_INET, &p->u.prefix4, buf[0], + sizeof(buf[0])), p->prefixlen, api.metric, api.tag, api.nexthop_num); for (i = 0; i < api.nexthop_num; i++) { diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 3453da665a..0c5b88d74d 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -3886,8 +3886,9 @@ static int peer_af_flag_modify(struct peer *peer, afi_t afi, safi_t safi, } /* Track if addpath TX is in use */ - if (flag & (PEER_FLAG_ADDPATH_TX_ALL_PATHS - | PEER_FLAG_ADDPATH_TX_BESTPATH_PER_AS)) { + if (flag + & (PEER_FLAG_ADDPATH_TX_ALL_PATHS + | PEER_FLAG_ADDPATH_TX_BESTPATH_PER_AS)) { bgp = peer->bgp; addpath_tx_used = 0; @@ -6757,8 +6758,9 @@ static void bgp_config_write_peer_af(struct vty *vty, struct bgp *bgp, } else { if (!peer_af_flag_check(peer, afi, safi, PEER_FLAG_SEND_COMMUNITY) - && (!g_peer || peer_af_flag_check(g_peer, afi, safi, - PEER_FLAG_SEND_COMMUNITY)) + && (!g_peer + || peer_af_flag_check(g_peer, afi, safi, + PEER_FLAG_SEND_COMMUNITY)) && !peer_af_flag_check(peer, afi, safi, PEER_FLAG_SEND_EXT_COMMUNITY) && (!g_peer @@ -6766,9 +6768,10 @@ static void bgp_config_write_peer_af(struct vty *vty, struct bgp *bgp, PEER_FLAG_SEND_EXT_COMMUNITY)) && !peer_af_flag_check(peer, afi, safi, PEER_FLAG_SEND_LARGE_COMMUNITY) - && (!g_peer || peer_af_flag_check( - g_peer, afi, safi, - PEER_FLAG_SEND_LARGE_COMMUNITY))) { + && (!g_peer + || peer_af_flag_check( + g_peer, afi, safi, + PEER_FLAG_SEND_LARGE_COMMUNITY))) { afi_header_vty_out( vty, afi, safi, write, " no neighbor %s send-community all\n", addr); @@ -6799,9 +6802,10 @@ static void bgp_config_write_peer_af(struct vty *vty, struct bgp *bgp, if (!peer_af_flag_check(peer, afi, safi, PEER_FLAG_SEND_COMMUNITY) - && (!g_peer || peer_af_flag_check( - g_peer, afi, safi, - PEER_FLAG_SEND_COMMUNITY))) { + && (!g_peer + || peer_af_flag_check( + g_peer, afi, safi, + PEER_FLAG_SEND_COMMUNITY))) { afi_header_vty_out( vty, afi, safi, write, " no neighbor %s send-community\n", diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 67b8289c70..c6c14420e6 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -251,13 +251,14 @@ struct bgp { /* $FRR indent$ */ /* clang-format off */ #define BGP_MAXMED_ADMIN_UNCONFIGURED 0 /* Off by default */ - u_int32_t - maxmed_admin_value; /* Max-med value when administrative in on + u_int32_t maxmed_admin_value; /* Max-med value when administrative in on */ + /* $FRR indent$ */ + /* clang-format off */ #define BGP_MAXMED_VALUE_DEFAULT 4294967294 /* Maximum by default */ - u_char maxmed_active; /* 1/0 if max-med is active or not */ - u_int32_t maxmed_value; /* Max-med value when its active */ + u_char maxmed_active; /* 1/0 if max-med is active or not */ + u_int32_t maxmed_value; /* Max-med value when its active */ /* BGP update delay on startup */ struct thread *t_update_delay; diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index 8a93d3984e..ba4c703e96 100644 --- a/bgpd/rfapi/bgp_rfapi_cfg.c +++ b/bgpd/rfapi/bgp_rfapi_cfg.c @@ -503,9 +503,8 @@ DEFUN (vnc_defaults_responselifetime, } else { rspint = strtoul(argv[1]->arg, NULL, 10); if (rspint > INT32_MAX) - rspint = - INT32_MAX; /* is really an int, not an unsigned - int */ + rspint = INT32_MAX; /* is really an int, not an unsigned + int */ } bgp->rfapi_cfg->default_response_lifetime = rspint; @@ -1674,8 +1673,9 @@ DEFUN (vnc_nve_group_export_no_prefixlist, } if (argv[2]->arg[0] == 'b') { - if (((argc > 5) && strmatch(argv[5]->text, - rfg->plist_export_bgp_name[afi])) + if (((argc > 5) + && strmatch(argv[5]->text, + rfg->plist_export_bgp_name[afi])) || (argc <= 5)) { if (rfg->plist_export_bgp_name[afi]) @@ -1686,8 +1686,9 @@ DEFUN (vnc_nve_group_export_no_prefixlist, vnc_direct_bgp_reexport_group_afi(bgp, rfg, afi); } } else { - if (((argc > 5) && strmatch(argv[5]->text, - rfg->plist_export_zebra_name[afi])) + if (((argc > 5) + && strmatch(argv[5]->text, + rfg->plist_export_zebra_name[afi])) || (argc <= 5)) { if (rfg->plist_export_zebra_name[afi]) free(rfg->plist_export_zebra_name[afi]); @@ -1791,8 +1792,9 @@ DEFUN (vnc_nve_group_export_no_routemap, vnc_direct_bgp_reexport_group_afi(bgp, rfg, AFI_IP6); } } else { - if (((argc > 4) && strmatch(argv[4]->text, - rfg->routemap_export_zebra_name)) + if (((argc > 4) + && strmatch(argv[4]->text, + rfg->routemap_export_zebra_name)) || (argc <= 4)) { if (rfg->routemap_export_zebra_name) free(rfg->routemap_export_zebra_name); @@ -2445,8 +2447,9 @@ bgp_rfapi_delete_named_nve_group(struct vty *vty, /* NULL = no output */ */ for (ALL_LIST_ELEMENTS_RO(bgp->rfapi_cfg->rfg_export_direct_bgp_l, node, rfgn)) { - if (rfg_name == NULL || (type == RFAPI_GROUP_CFG_NVE - && !strcmp(rfgn->name, rfg_name))) { + if (rfg_name == NULL + || (type == RFAPI_GROUP_CFG_NVE + && !strcmp(rfgn->name, rfg_name))) { rfgn->rfg = NULL; /* remove exported routes from this group */ vnc_direct_bgp_del_group(bgp, rfg); @@ -2460,8 +2463,9 @@ bgp_rfapi_delete_named_nve_group(struct vty *vty, /* NULL = no output */ for (ALL_LIST_ELEMENTS_RO(bgp->rfapi_cfg->rfg_export_zebra_l, node, rfgn)) { - if (rfg_name == NULL || (type == RFAPI_GROUP_CFG_NVE - && !strcmp(rfgn->name, rfg_name))) { + if (rfg_name == NULL + || (type == RFAPI_GROUP_CFG_NVE + && !strcmp(rfgn->name, rfg_name))) { rfgn->rfg = NULL; /* remove exported routes from this group */ vnc_zebra_del_group(bgp, rfg); diff --git a/bgpd/rfapi/rfapi.c b/bgpd/rfapi/rfapi.c index 3a2a608a7c..f809621123 100644 --- a/bgpd/rfapi/rfapi.c +++ b/bgpd/rfapi/rfapi.c @@ -2603,8 +2603,9 @@ int rfapi_register(void *handle, struct rfapi_ip_prefix *prefix, ZEBRA_ROUTE_BGP, BGP_ROUTE_RFP, NULL, action == RFAPI_REGISTER_KILL); - if (0 == rfapiApDelete(bgp, rfd, &p, pfx_mac, &prd, - &adv_tunnel)) { + if (0 + == rfapiApDelete(bgp, rfd, &p, pfx_mac, &prd, + &adv_tunnel)) { if (adv_tunnel) rfapiTunnelRouteAnnounce( bgp, rfd, &rfd->max_prefix_lifetime); diff --git a/bgpd/rfapi/rfapi_import.c b/bgpd/rfapi/rfapi_import.c index d0379e1ef8..d16d578ac8 100644 --- a/bgpd/rfapi/rfapi_import.c +++ b/bgpd/rfapi/rfapi_import.c @@ -1,22 +1,22 @@ /* -* -* Copyright 2009-2016, LabN Consulting, L.L.C. -* -* -* 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 -*/ + * + * Copyright 2009-2016, LabN Consulting, L.L.C. + * + * + * 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 + */ /* * File: rfapi_import.c @@ -1086,9 +1086,8 @@ int rfapiEcommunityGetEthernetTag(struct ecommunity *ecom, uint16_t *tag_id) } else if (encode == ECOMMUNITY_ENCODE_AS) { as = (*p++ << 8); as |= (*p++); - p += - 2; /* skip next two, tag/vid - always in lowest bytes */ + p += 2; /* skip next two, tag/vid + always in lowest bytes */ } if (as == bgp->as) { *tag_id = *p++ << 8; @@ -2011,8 +2010,9 @@ static void rfapiBgpInfoAttachSorted(struct route_node *rn, for (prev = NULL, next = rn->info; next; prev = next, next = next->next) { - if (!bgp || (!CHECK_FLAG(info_new->flags, BGP_INFO_REMOVED) - && CHECK_FLAG(next->flags, BGP_INFO_REMOVED)) + if (!bgp + || (!CHECK_FLAG(info_new->flags, BGP_INFO_REMOVED) + && CHECK_FLAG(next->flags, BGP_INFO_REMOVED)) || bgp_info_cmp_compatible(bgp, info_new, next, pfx_buf, afi, safi) == -1) { /* -1 if 1st is better */ @@ -3554,9 +3554,10 @@ void rfapiBgpInfoFilteredImportVPN( vnc_zlog_debug_verbose( "%s: withdrawing at prefix %s/%d%s", - __func__, rfapi_ntop(rn->p.family, - &rn->p.u.prefix, - buf, BUFSIZ), + __func__, + rfapi_ntop(rn->p.family, + &rn->p.u.prefix, buf, + BUFSIZ), rn->p.prefixlen, (washolddown ? " (already being withdrawn)" @@ -4023,7 +4024,7 @@ void rfapiProcessWithdraw(struct peer *peer, void *rfd, struct prefix *p, p, /* aux_prefix: IP */ AFI_L2VPN, prd, attr, type, 0, NULL); /* sub_type & label unused for withdraw - */ + */ } } @@ -4310,9 +4311,8 @@ void bgp_rfapi_destroy(struct bgp *bgp, struct rfapi *h) void *cursor; int rc; - for (cursor = NULL, - rc = skiplist_next(h->import_mac, NULL, (void **)&it, - &cursor); + for (cursor = NULL, rc = skiplist_next(h->import_mac, NULL, + (void **)&it, &cursor); !rc; rc = skiplist_next(h->import_mac, NULL, (void **)&it, &cursor)) { @@ -4711,9 +4711,8 @@ void rfapiDeleteRemotePrefixes(struct prefix *un, struct prefix *vn, void *cursor = NULL; int rc; - for (cursor = NULL, - rc = skiplist_next(h->import_mac, NULL, (void **)&it, - &cursor); + for (cursor = NULL, rc = skiplist_next(h->import_mac, NULL, + (void **)&it, &cursor); !rc; rc = skiplist_next(h->import_mac, NULL, (void **)&it, &cursor)) { @@ -4806,9 +4805,8 @@ void rfapiCountAllItRoutes(int *pALRcount, /* active local routes */ int rc; if (h->import_mac) { - for (cursor = NULL, - rc = skiplist_next(h->import_mac, NULL, (void **)&it, - &cursor); + for (cursor = NULL, rc = skiplist_next(h->import_mac, NULL, + (void **)&it, &cursor); !rc; rc = skiplist_next(h->import_mac, NULL, (void **)&it, &cursor)) { diff --git a/bgpd/rfapi/rfapi_monitor.c b/bgpd/rfapi/rfapi_monitor.c index 9c0d9da6ff..5a1b29e598 100644 --- a/bgpd/rfapi/rfapi_monitor.c +++ b/bgpd/rfapi/rfapi_monitor.c @@ -1339,10 +1339,11 @@ struct route_node *rfapiMonitorEthAdd(struct bgp *bgp, { char buf[BUFSIZ]; - vnc_zlog_debug_verbose( - "%s: LNI=%d: rfd=%p, pfx=%s", __func__, logical_net_id, - rfd, rfapi_ntop(pfx_mac_buf.family, pfx_mac_buf.u.val, - buf, BUFSIZ)); + vnc_zlog_debug_verbose("%s: LNI=%d: rfd=%p, pfx=%s", __func__, + logical_net_id, rfd, + rfapi_ntop(pfx_mac_buf.family, + pfx_mac_buf.u.val, buf, + BUFSIZ)); } diff --git a/bgpd/rfapi/rfapi_rib.c b/bgpd/rfapi/rfapi_rib.c index a414df1ab4..58da84ea32 100644 --- a/bgpd/rfapi/rfapi_rib.c +++ b/bgpd/rfapi/rfapi_rib.c @@ -527,11 +527,11 @@ void rfapiRibClear(struct rfapi_descriptor *rfd) struct rfapi_info *ri; - while (0 == skiplist_first( - (struct skiplist *) - rn->info, - NULL, - (void **)&ri)) { + while (0 + == skiplist_first( + (struct skiplist *) + rn->info, + NULL, (void **)&ri)) { rfapi_info_free(ri); skiplist_delete_first( @@ -2449,7 +2449,7 @@ void rfapiRibShowResponses(void *stream, struct prefix *pfx_match, #else "Remaining" #endif - ); + ); } if (!printednve) { char str_vn[BUFSIZ]; diff --git a/bgpd/rfapi/vnc_import_bgp.c b/bgpd/rfapi/vnc_import_bgp.c index 117d4fbfd4..0fab2e7005 100644 --- a/bgpd/rfapi/vnc_import_bgp.c +++ b/bgpd/rfapi/vnc_import_bgp.c @@ -2009,7 +2009,7 @@ void vnc_import_bgp_exterior_del_route( bgp_info_unlock(info); route_unlock_node( rn); /* sl entry - */ + */ } if (skiplist_empty( RFAPI_MONITOR_EXTERIOR( diff --git a/bgpd/rfapi/vnc_zebra.c b/bgpd/rfapi/vnc_zebra.c index 3075d4109f..69529c722e 100644 --- a/bgpd/rfapi/vnc_zebra.c +++ b/bgpd/rfapi/vnc_zebra.c @@ -375,8 +375,9 @@ static int vnc_zebra_read_ipv4(int command, struct zclient *zclient, __func__, zebra_route_string(api.type), inet_ntop(AF_INET, &p.prefix, buf[0], sizeof(buf[0])), - p.prefixlen, inet_ntop(AF_INET, &nexthop, - buf[1], sizeof(buf[1])), + p.prefixlen, + inet_ntop(AF_INET, &nexthop, buf[1], + sizeof(buf[1])), api.metric); } vnc_redistribute_add((struct prefix *)&p, &nexthop, api.metric, @@ -390,8 +391,9 @@ static int vnc_zebra_read_ipv4(int command, struct zclient *zclient, __func__, zebra_route_string(api.type), inet_ntop(AF_INET, &p.prefix, buf[0], sizeof(buf[0])), - p.prefixlen, inet_ntop(AF_INET, &nexthop, - buf[1], sizeof(buf[1])), + p.prefixlen, + inet_ntop(AF_INET, &nexthop, buf[1], + sizeof(buf[1])), api.metric); } vnc_redistribute_delete((struct prefix *)&p, api.type); diff --git a/doc/OSPF-API.md b/doc/OSPF-API.md new file mode 100644 index 0000000000..5774300c0b --- /dev/null +++ b/doc/OSPF-API.md @@ -0,0 +1,263 @@ +# OSPF API Documentation + +[TOC] + +## Disclaimer + +The OSPF daemon contains an API for application access to the LSA database. This API was created by Ralph Keller, originally as patch for Zebra. Unfortunately, the page containing documentation of the API is no longer online. This page is an attempt to recreate documentation for the API (with lots of help of the WayBackMachine) + +## 1.  Introduction + +This page describes an API that allows external applications to access the link-state database (LSDB) of the OSPF daemon. The implementation is based on the OSPF code from FRRouting (forked from Quagga and formerly Zebra) routing protocol suite and is subject to the GNU General Public License. The OSPF API provides you with the following functionality: + +* Retrieval of the full or partial link-state database of the OSPF daemon. This allows applications to obtain an exact copy of the LSDB including router LSAs, network LSAs and so on. Whenever a new LSA arrives at the OSPF daemon, the API module immediately informs the application by sending a message. This way, the application is always synchronized with the LSDB of the OSPF daemon. +* Origination of own opaque LSAs (of type 9, 10, or 11) which are then distributed transparently to other routers within the flooding scope and received by other applications through the OSPF API. + +Opaque LSAs, which are described in RFC 2370 , allow you to distribute application-specific information within a network using the OSPF protocol. The information contained in opaque LSAs is transparent for the routing process but it can be processed by other modules such as traffic engineering (e.g., MPLS-TE). + +## 2.  Architecture + +The following picture depicts the architecture of the Quagga/Zebra protocol suite. The OSPF daemon is extended with opaque LSA capabilities and an API for external applications. The OSPF core module executes the OSPF protocol by discovering neighbors and exchanging neighbor state. The opaque module, implemented by Masahiko Endo, provides functions to exchange opaque LSAs between routers. Opaque LSAs can be generated by several modules such as the MPLS-TE module or the API server module. These modules then invoke the opaque module to flood their data to neighbors within the flooding scope. + +The client, which is an application potentially running on a different node than the OSPF daemon, links against the OSPF API client library. This client library establishes a socket connection with the API server module of the OSPF daemon and uses this connection to retrieve LSAs and originate opaque LSAs. + + + +The OSPF API server module works like any other internal opaque module (such as the MPLS-TE module), but listens to connections from external applications that want to communicate with the OSPF daemon. The API server module can handle multiple clients concurrently. + +One of the main objectives of the implementation is to make as little changes to the existing Zebra code as possible. + +## 3.  Installation & Configuration + +Download FRRouting and unpack + +Configure your frr version (note that --enable-opaque-lsa also enables the ospfapi server and ospfclient). + +``` +% update-autotools +% sh ./configure --enable-opaque-lsa +% make + +``` + +This should also compile the client library and sample application in ospfclient. + +Make sure that you have enabled opaque LSAs in your configuration. Add the ospf opaque-lsa statement to your ospfd.conf: + +``` +! -*- ospf -*- +! +! OSPFd sample configuration file +! +! +hostname xxxxx +password xxxxx + +router ospf + router-id 10.0.0.1 + network 10.0.0.1/24 area 1 + neighbor 10.0.0.2 + network 10.0.1.2/24 area 1 + neighbor 10.0.1.1 + ospf opaque-lsa <============ add this statement! + +``` + +## 4. Usage + +In the following we describe how you can use the sample application to originate opaque LSAs. The sample application first registers with the OSPF daemon the opaque type it wants to inject and then waits until the OSPF daemon is ready to accept opaque LSAs of that type. Then the client application originates an opaque LSA, waits 10 seconds and then updates the opaque LSA with new opaque data. After another 20 seconds, the client application deletes the opaque LSA from the LSDB. If the clients terminates unexpectedly, the OSPF API module will remove all the opaque LSAs that the application registered. Since the opaque LSAs are flooded to other routers, we will see the opaque LSAs in all routers according to the flooding scope of the opaque LSA. + +We have a very simple demo setup, just two routers connected with an ATM point-to-point link. Start the modified OSPF daemons on two adjacent routers. First run on msr2: + +``` + > msr2:/home/keller/ospfapi/zebra/ospfd# ./ospfd -f /usr/local/etc/ospfd.conf +``` + +And on the neighboring router msr3: + + +``` + > msr3:/home/keller/ospfapi/zebra/ospfd# ./ospfd -f /usr/local/etc/ospfd.conf +``` + +Now the two routers form adjacency and start exchanging their databases. Looking at the OSPF daemon of msr2 (or msr3), you see this: + +``` + ospfd> show ip ospf database + + OSPF Router with ID (10.0.0.1) + + Router Link States (Area 0.0.0.1) + + Link ID ADV Router Age Seq# CkSum Link count + 10.0.0.1 10.0.0.1 55 0x80000003 0xc62f 2 + 10.0.0.2 10.0.0.2 55 0x80000003 0xe3e4 3 + + Net Link States (Area 0.0.0.1) + + Link ID ADV Router Age Seq# CkSum + 10.0.0.2 10.0.0.2 60 0x80000001 0x5fcb + +``` + +Now we start the sample main application that originates an opaque LSA. + + +``` + > cd ospfapi/apiclient + > ./main msr2 10 250 20 0.0.0.0 0.0.0.1 + +``` + +This originates an opaque LSA of type 10 (area local), with opaque type 250 (experimental), opaque id of 20 (chosen arbitrarily), interface address 0.0.0.0 (which is used only for opaque LSAs type 9), and area 0.0.0.1 + +Again looking at the OSPF database you see: + +``` + ospfd> show ip ospf database + + OSPF Router with ID (10.0.0.1) + + Router Link States (Area 0.0.0.1) + + Link ID ADV Router Age Seq# CkSum Link count + 10.0.0.1 10.0.0.1 437 0x80000003 0xc62f 2 + 10.0.0.2 10.0.0.2 437 0x80000003 0xe3e4 3 + + Net Link States (Area 0.0.0.1) + + Link ID ADV Router Age Seq# CkSum + 10.0.0.2 10.0.0.2 442 0x80000001 0x5fcb + + Area-Local Opaque-LSA (Area 0.0.0.1) + + Opaque-Type/Id ADV Router Age Seq# CkSum + 250.0.0.20 10.0.0.1 0 0x80000001 0x58a6 <=== opaque LSA + +``` + +You can take a closer look at this opaque LSA: + +``` + ospfd> show ip ospf database opaque-area + + OSPF Router with ID (10.0.0.1) + + + Area-Local Opaque-LSA (Area 0.0.0.1) + + LS age: 4 + Options: 66 + LS Type: Area-Local Opaque-LSA + Link State ID: 250.0.0.20 (Area-Local Opaque-Type/ID) + Advertising Router: 10.0.0.1 + LS Seq Number: 80000001 + Checksum: 0x58a6 + Length: 24 + Opaque-Type 250 (Private/Experimental) + Opaque-ID 0x14 + Opaque-Info: 4 octets of data + Added using OSPF API: 4 octets of opaque data + Opaque data: 1 0 0 0 <==== counter is 1 + +``` + +Note that the main application updates the opaque LSA after 10 seconds, then it looks as follows: + +``` + ospfd> show ip ospf database opaque-area + + OSPF Router with ID (10.0.0.1) + + + Area-Local Opaque-LSA (Area 0.0.0.1) + + LS age: 1 + Options: 66 + LS Type: Area-Local Opaque-LSA + Link State ID: 250.0.0.20 (Area-Local Opaque-Type/ID) + Advertising Router: 10.0.0.1 + LS Seq Number: 80000002 + Checksum: 0x59a3 + Length: 24 + Opaque-Type 250 (Private/Experimental) + Opaque-ID 0x14 + Opaque-Info: 4 octets of data + Added using OSPF API: 4 octets of opaque data + Opaque data: 2 0 0 0 <==== counter is now 2 + +``` + +Note that the payload of the opaque LSA has changed as you can see above. + +Then, again after another 20 seconds, the opaque LSA is flushed from the LSDB. + +#### Important note: + +In order to originate an opaque LSA, there must be at least one active opaque-capable neighbor. Thus, you cannot originate opaque LSAs of no neighbors are present. If you try to originate even so no neighbor is ready, you will receive a not ready error message. The reason for this restriction is that it might be possible that some routers have an identical opaque LSA from a previous origination in their LSDB that unfortunately could not be flushed due to a crash, and now if the router comes up again and starts originating a new opaque LSA, the new opaque LSA is considered older since it has a lower sequence number and is ignored by other routers (that consider the stalled opaque LSA as more recent). However, if the originating router first synchronizes the database before originating opaque LSAs, it will detect the older opaque LSA and can flush it first. + + +## 5.  Protocol and Message Formats + +If you are developing your own client application and you don't want to make use of the client library (due to the GNU license restriction or whatever reason), you can implement your own client-side message handling. The OSPF API uses two connections between the client and the OSPF API server: One connection is used for a synchronous request /reply protocol and another connection is used for asynchronous notifications (e.g., LSA update, neighbor status change). + +Each message begins with the following header: + + + +The message type field can take one of the following values: + +Messages to OSPF deamon | Value +----------------------- | ----- +MSG_REGISTER_OPAQUETYPE | 1 +MSG_UNREGISTER_OPAQUETYPE | 2 +MSG_REGISTER_EVENT | 3 +MSG_SYNC_LSDB | 4 +MSG_ORIGINATE_REQUEST | 5 +MSG_DELETE_REQUEST | 6 + +Messages from OSPF deamon | Value +------------------------- | ----- +MSG_REPLY | 10 +MSG_READY_NOTIFY | 11 +MSG_LSA_UPDATE_NOTIFY | 12 +MSG_LSA_DELETE_NOTIFY | 13 +MSG_NEW_IF | 14 +MSG_DEL_IF | 15 +MSG_ISM_CHANGE | 16 +MSG_NSM_CHANGE | 17 + +The synchronous requests and replies have the following message formats: + + + +The origin field allows to select according to the following types of origins: + +Origin | Value +------ | ----- +NON_SELF_ORIGINATED | 0 +SELF_ORIGINATED | 1 +ANY_ORIGIN | 2 + +The reply message has on of the following error codes: + +Error code | Value +---------- | ----- +API_OK | 0 +API_NOSUCHINTERFACE | -1 +API_NOSUCHAREA | -2 +API_NOSUCHLSA | -3 +API_ILLEGALSATYPE | -4 +API_ILLEGALOPAQUETYPE | -5 +API_OPAQUETYPEINUSE | -6 +API_NOMEMORY | -7 +API_ERROR | -99 +API_UNDEF | -100 + +The asynchronous notifications have the following message formats: + + + +## 6.  Original Acknowledgments from Ralph Keller + +I would like to thank Masahiko Endo, the author of the opaque LSA extension module, for his great support. His wonderful ASCII graphs explaining the internal workings of this code, and his invaluable input proved to be crucial in designing a useful API for accessing the link state database of the OSPF daemon. Once, he even decided to take the plane from Tokyo to Zurich so that we could actually meet and have face-to-face discussions, which was a lot of fun. Clearly, without Masahiko no API would ever be completed. I also would like to thank Daniel Bauer who wrote an opaque LSA implementation too and was willing to test the OSPF API code in one of his projects. diff --git a/doc/ospf_api_architecture.png b/doc/ospf_api_architecture.png Binary files differnew file mode 100644 index 0000000000..bd10a3865b --- /dev/null +++ b/doc/ospf_api_architecture.png diff --git a/doc/ospf_api_msghdr.png b/doc/ospf_api_msghdr.png Binary files differnew file mode 100644 index 0000000000..5bc840f70b --- /dev/null +++ b/doc/ospf_api_msghdr.png diff --git a/doc/ospf_api_msgs1.png b/doc/ospf_api_msgs1.png Binary files differnew file mode 100644 index 0000000000..a23cc619cd --- /dev/null +++ b/doc/ospf_api_msgs1.png diff --git a/doc/ospf_api_msgs2.png b/doc/ospf_api_msgs2.png Binary files differnew file mode 100644 index 0000000000..8997ac4010 --- /dev/null +++ b/doc/ospf_api_msgs2.png diff --git a/eigrpd/eigrp_interface.c b/eigrpd/eigrp_interface.c index 2312cc6edd..7f312d9808 100644 --- a/eigrpd/eigrp_interface.c +++ b/eigrpd/eigrp_interface.c @@ -552,8 +552,9 @@ struct eigrp_interface *eigrp_if_lookup_recv_if(struct eigrp *eigrp, if (prefix_match(CONNECTED_PREFIX(ei->connected), (struct prefix *)&addr)) { - if ((match == NULL) || (match->address->prefixlen - < ei->address->prefixlen)) + if ((match == NULL) + || (match->address->prefixlen + < ei->address->prefixlen)) match = ei; } } diff --git a/eigrpd/eigrp_main.c b/eigrpd/eigrp_main.c index bc8bbb4450..d593f5ceea 100644 --- a/eigrpd/eigrp_main.c +++ b/eigrpd/eigrp_main.c @@ -68,7 +68,9 @@ /* eigprd privileges */ zebra_capabilities_t _caps_p[] = { - ZCAP_NET_RAW, ZCAP_BIND, ZCAP_NET_ADMIN, + ZCAP_NET_RAW, + ZCAP_BIND, + ZCAP_NET_ADMIN, }; struct zebra_privs_t eigrpd_privs = { diff --git a/eigrpd/eigrp_packet.c b/eigrpd/eigrp_packet.c index f20ec0ad12..1cbd06df6c 100644 --- a/eigrpd/eigrp_packet.c +++ b/eigrpd/eigrp_packet.c @@ -134,8 +134,9 @@ int eigrp_make_md5_digest(struct eigrp_interface *ei, struct stream *s, MD5Update(&ctx, zeropad, 16 - strlen(key->string)); if (backup_end > (EIGRP_HEADER_LEN + EIGRP_AUTH_MD5_TLV_SIZE)) { MD5Update(&ctx, - ibuf + (EIGRP_HEADER_LEN - + EIGRP_AUTH_MD5_TLV_SIZE), + ibuf + + (EIGRP_HEADER_LEN + + EIGRP_AUTH_MD5_TLV_SIZE), backup_end - 20 - (EIGRP_HEADER_LEN + EIGRP_AUTH_MD5_TLV_SIZE)); @@ -208,8 +209,9 @@ int eigrp_check_md5_digest(struct stream *s, MD5Update(&ctx, zeropad, 16 - strlen(key->string)); if (backup_end > (EIGRP_HEADER_LEN + EIGRP_AUTH_MD5_TLV_SIZE)) { MD5Update(&ctx, - ibuf + (EIGRP_HEADER_LEN - + EIGRP_AUTH_MD5_TLV_SIZE), + ibuf + + (EIGRP_HEADER_LEN + + EIGRP_AUTH_MD5_TLV_SIZE), backup_end - 20 - (EIGRP_HEADER_LEN + EIGRP_AUTH_MD5_TLV_SIZE)); @@ -326,9 +328,9 @@ int eigrp_write(struct thread *thread) struct listnode *node; #ifdef WANT_EIGRP_WRITE_FRAGMENT static u_int16_t ipid = 0; -#endif /* WANT_EIGRP_WRITE_FRAGMENT */ - /* $FRR indent$ */ -/* clang-format off */ +#endif /* WANT_EIGRP_WRITE_FRAGMENT */ + /* $FRR indent$ */ + /* clang-format off */ #define EIGRP_WRITE_IPHL_SHIFT 2 eigrp->t_write = NULL; diff --git a/eigrpd/eigrp_routemap.c b/eigrpd/eigrp_routemap.c index b645ed1987..0823201fec 100644 --- a/eigrpd/eigrp_routemap.c +++ b/eigrpd/eigrp_routemap.c @@ -644,7 +644,9 @@ static void route_set_metric_free(void *rule) /* Set metric rule structure. */ static struct route_map_rule_cmd route_set_metric_cmd = { - "metric", route_set_metric, route_set_metric_compile, + "metric", + route_set_metric, + route_set_metric_compile, route_set_metric_free, }; @@ -776,7 +778,8 @@ DEFUN (no_match_metric, } ALIAS(no_match_metric, no_match_metric_val_cmd, - "no match metric <0-4294967295>", NO_STR MATCH_STR + "no match metric <0-4294967295>", + NO_STR MATCH_STR "Match metric of route\n" "Metric value\n") @@ -839,7 +842,8 @@ DEFUN (no_match_ip_next_hop, } ALIAS(no_match_ip_next_hop, no_match_ip_next_hop_val_cmd, - "no match ip next-hop (<1-199>|<1300-2699>|WORD)", NO_STR MATCH_STR IP_STR + "no match ip next-hop (<1-199>|<1300-2699>|WORD)", + NO_STR MATCH_STR IP_STR "Match next-hop address of route\n" "IP access-list number\n" "IP access-list number (expanded range)\n" @@ -877,7 +881,8 @@ DEFUN (no_match_ip_next_hop_prefix_list, ALIAS(no_match_ip_next_hop_prefix_list, no_match_ip_next_hop_prefix_list_val_cmd, - "no match ip next-hop prefix-list WORD", NO_STR MATCH_STR IP_STR + "no match ip next-hop prefix-list WORD", + NO_STR MATCH_STR IP_STR "Match next-hop address of route\n" "Match entries of prefix-lists\n" "IP prefix-list name\n") @@ -911,7 +916,8 @@ DEFUN (no_match_ip_address, } ALIAS(no_match_ip_address, no_match_ip_address_val_cmd, - "no match ip address (<1-199>|<1300-2699>|WORD)", NO_STR MATCH_STR IP_STR + "no match ip address (<1-199>|<1300-2699>|WORD)", + NO_STR MATCH_STR IP_STR "Match address of route\n" "IP access-list number\n" "IP access-list number (expanded range)\n" @@ -948,7 +954,8 @@ DEFUN (no_match_ip_address_prefix_list, } ALIAS(no_match_ip_address_prefix_list, no_match_ip_address_prefix_list_val_cmd, - "no match ip address prefix-list WORD", NO_STR MATCH_STR IP_STR + "no match ip address prefix-list WORD", + NO_STR MATCH_STR IP_STR "Match address of route\n" "Match entries of prefix-lists\n" "IP prefix-list name\n") @@ -993,7 +1000,8 @@ DEFUN (set_metric, return eigrp_route_set_add(vty, vty->index, "metric", argv[0]); } -ALIAS(set_metric, set_metric_addsub_cmd, "set metric <+/-metric>", SET_STR +ALIAS(set_metric, set_metric_addsub_cmd, "set metric <+/-metric>", + SET_STR "Metric value for destination routing protocol\n" "Add or subtract metric\n") @@ -1011,7 +1019,8 @@ DEFUN (no_set_metric, } ALIAS(no_set_metric, no_set_metric_val_cmd, - "no set metric (<0-4294967295>|<+/-metric>)", NO_STR SET_STR + "no set metric (<0-4294967295>|<+/-metric>)", + NO_STR SET_STR "Metric value for destination routing protocol\n" "Metric value\n" "Add or subtract metric\n") @@ -1052,7 +1061,8 @@ DEFUN (no_set_ip_nexthop, } ALIAS(no_set_ip_nexthop, no_set_ip_nexthop_val_cmd, - "no set ip next-hop A.B.C.D", NO_STR SET_STR IP_STR + "no set ip next-hop A.B.C.D", + NO_STR SET_STR IP_STR "Next hop address\n" "IP address of next hop\n") @@ -1079,7 +1089,8 @@ DEFUN (no_set_tag, return eigrp_route_set_delete(vty, vty->index, "tag", argv[0]); } -ALIAS(no_set_tag, no_set_tag_val_cmd, "no set tag <0-65535>", NO_STR SET_STR +ALIAS(no_set_tag, no_set_tag_val_cmd, "no set tag <0-65535>", + NO_STR SET_STR "Tag value for routing protocol\n" "Tag value\n") diff --git a/eigrpd/eigrp_structs.h b/eigrpd/eigrp_structs.h index 6b3a14abc5..bc87b076bb 100644 --- a/eigrpd/eigrp_structs.h +++ b/eigrpd/eigrp_structs.h @@ -104,9 +104,8 @@ struct eigrp { uint64_t serno; /* Global serial number counter for topology entry changes*/ - uint64_t - serno_last_update; /* Highest serial number of information send - by last update*/ + uint64_t serno_last_update; /* Highest serial number of information send + by last update*/ struct list *topology_changes_internalIPV4; struct list *topology_changes_externalIPV4; diff --git a/eigrpd/eigrp_update.c b/eigrpd/eigrp_update.c index 3c2ce6ce42..88a6ccf2a8 100644 --- a/eigrpd/eigrp_update.c +++ b/eigrpd/eigrp_update.c @@ -771,8 +771,8 @@ void eigrp_update_send_all(struct eigrp *eigrp, /** * @fn eigrp_update_send_GR_part * - * @param[in] nbr contains neighbor who would receive Graceful - * restart + * @param[in] nbr contains neighbor who would receive + * Graceful restart * * @return void * @@ -1034,8 +1034,8 @@ int eigrp_update_send_GR_thread(struct thread *thread) /** * @fn eigrp_update_send_GR * - * @param[in] nbr Neighbor who would receive Graceful - * restart + * @param[in] nbr Neighbor who would receive + * Graceful restart * @param[in] gr_type Who executed Graceful restart * @param[in] vty Virtual terminal for log output * @@ -1094,8 +1094,8 @@ void eigrp_update_send_GR(struct eigrp_neighbor *nbr, enum GR_type gr_type, /** * @fn eigrp_update_send_interface_GR * - * @param[in] ei Interface to neighbors of which the GR - * is sent + * @param[in] ei Interface to neighbors of which the + * GR is sent * @param[in] gr_type Who executed Graceful restart * @param[in] vty Virtual terminal for log output * diff --git a/isisd/dict.c b/isisd/dict.c index f09a8152a8..5da2a741a7 100644 --- a/isisd/dict.c +++ b/isisd/dict.c @@ -441,7 +441,7 @@ dnode_t *dict_lookup(dict_t *dict, const void *key) root = root->right; else { if (!dict->dupes) { /* no duplicates, return match - */ + */ return root; } else { /* could be dupes, find leftmost one */ do { diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c index d8cb32375b..7214f31093 100644 --- a/isisd/isis_adjacency.c +++ b/isisd/isis_adjacency.c @@ -446,9 +446,10 @@ void isis_adj_print_vty(struct isis_adjacency *adj, struct vty *vty, adj->dis_record[ISIS_LEVELS + level - 1] .dis), adj->dischanges[level - 1], - time2string(now - (adj->dis_record[ISIS_LEVELS - + level - 1] - .last_dis_change))); + time2string(now + - (adj->dis_record[ISIS_LEVELS + + level - 1] + .last_dis_change))); } vty_out(vty, "\n"); diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 72810532b0..de2c453aee 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -1270,7 +1270,9 @@ int isis_circuit_passwd_hmac_md5_set(struct isis_circuit *circuit, passwd); } struct cmd_node interface_node = { - INTERFACE_NODE, "%s(config-if)# ", 1, + INTERFACE_NODE, + "%s(config-if)# ", + 1, }; int isis_circuit_circ_type_set(struct isis_circuit *circuit, int circ_type) diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c index 40c6141ab8..e86b9d93e4 100644 --- a/isisd/isis_lsp.c +++ b/isisd/isis_lsp.c @@ -838,26 +838,30 @@ static void lsp_print_mt_ipv6_reach(struct list *list, struct vty *vty, if (mtid == ISIS_MT_IPV4_UNICAST) { if ((ipv6_reach->control_info & CTRL_INFO_DISTRIBUTION) == DISTRIBUTION_INTERNAL) - vty_out(vty, " Metric : %-8" PRIu32 - " IPv6-Internal : %s/%d\n", + vty_out(vty, + " Metric : %-8" PRIu32 + " IPv6-Internal : %s/%d\n", ntohl(ipv6_reach->metric), buff, ipv6_reach->prefix_len); else - vty_out(vty, " Metric : %-8" PRIu32 - " IPv6-External : %s/%d\n", + vty_out(vty, + " Metric : %-8" PRIu32 + " IPv6-External : %s/%d\n", ntohl(ipv6_reach->metric), buff, ipv6_reach->prefix_len); } else { if ((ipv6_reach->control_info & CTRL_INFO_DISTRIBUTION) == DISTRIBUTION_INTERNAL) - vty_out(vty, " Metric : %-8" PRIu32 - " IPv6-MT-Int : %s/%d %s\n", + vty_out(vty, + " Metric : %-8" PRIu32 + " IPv6-MT-Int : %s/%d %s\n", ntohl(ipv6_reach->metric), buff, ipv6_reach->prefix_len, isis_mtid2str(mtid)); else - vty_out(vty, " Metric : %-8" PRIu32 - " IPv6-MT-Ext : %s/%d %s\n", + vty_out(vty, + " Metric : %-8" PRIu32 + " IPv6-MT-Ext : %s/%d %s\n", ntohl(ipv6_reach->metric), buff, ipv6_reach->prefix_len, isis_mtid2str(mtid)); @@ -875,8 +879,9 @@ static void lsp_print_mt_ipv4_reach(struct list *list, struct vty *vty, if (mtid == ISIS_MT_IPV4_UNICAST) { /* FIXME: There should be better way to output this * stuff. */ - vty_out(vty, " Metric : %-8" PRIu32 - " IPv4-Extended : %s/%d\n", + vty_out(vty, + " Metric : %-8" PRIu32 + " IPv4-Extended : %s/%d\n", ntohl(te_ipv4_reach->te_metric), inet_ntoa(newprefix2inaddr( &te_ipv4_reach->prefix_start, @@ -885,8 +890,9 @@ static void lsp_print_mt_ipv4_reach(struct list *list, struct vty *vty, } else { /* FIXME: There should be better way to output this * stuff. */ - vty_out(vty, " Metric : %-8" PRIu32 - " IPv4-MT : %s/%d %s\n", + vty_out(vty, + " Metric : %-8" PRIu32 + " IPv4-MT : %s/%d %s\n", ntohl(te_ipv4_reach->te_metric), inet_ntoa(newprefix2inaddr( &te_ipv4_reach->prefix_start, @@ -987,8 +993,9 @@ void lsp_print_detail(struct isis_lsp *lsp, struct vty *vty, char dynhost) for (ALL_LIST_ELEMENTS_RO(lsp->tlv_data.is_neighs, lnode, is_neigh)) { lspid_print(is_neigh->neigh_id, LSPid, dynhost, 0); - vty_out(vty, " Metric : %-8" PRIu8 - " IS : %s\n", + vty_out(vty, + " Metric : %-8" PRIu8 + " IS : %s\n", is_neigh->metrics.metric_default, LSPid); } @@ -1000,8 +1007,9 @@ void lsp_print_detail(struct isis_lsp *lsp, struct vty *vty, char dynhost) sizeof(ipv4_reach_prefix)); memcpy(ipv4_reach_mask, inet_ntoa(ipv4_reach->mask), sizeof(ipv4_reach_mask)); - vty_out(vty, " Metric : %-8" PRIu8 - " IPv4-Internal : %s %s\n", + vty_out(vty, + " Metric : %-8" PRIu8 + " IPv4-Internal : %s %s\n", ipv4_reach->metrics.metric_default, ipv4_reach_prefix, ipv4_reach_mask); } @@ -1014,8 +1022,9 @@ void lsp_print_detail(struct isis_lsp *lsp, struct vty *vty, char dynhost) sizeof(ipv4_reach_prefix)); memcpy(ipv4_reach_mask, inet_ntoa(ipv4_reach->mask), sizeof(ipv4_reach_mask)); - vty_out(vty, " Metric : %-8" PRIu8 - " IPv4-External : %s %s\n", + vty_out(vty, + " Metric : %-8" PRIu8 + " IPv4-External : %s %s\n", ipv4_reach->metrics.metric_default, ipv4_reach_prefix, ipv4_reach_mask); } @@ -2754,9 +2763,9 @@ int lsp_regenerate_schedule_pseudo(struct isis_circuit *circuit, int level) THREAD_TIMER_OFF(circuit->u.bc.t_refresh_pseudo_lsp[lvl - 1]); diff = now - lsp->last_generated; if (diff < circuit->area->lsp_gen_interval[lvl - 1]) { - timeout = - 1000 * (circuit->area->lsp_gen_interval[lvl - 1] - - diff); + timeout = 1000 + * (circuit->area->lsp_gen_interval[lvl - 1] + - diff); sched_debug( "ISIS (%s): Sechduling in %ld ms to match configured lsp_gen_interval", area->area_tag, timeout); @@ -2981,9 +2990,9 @@ void lsp_purge_non_exist(int level, struct isis_link_state_hdr *lsp_hdr, lsp->level = level; lsp->pdu = stream_new(LLC_LEN + area->lsp_mtu); lsp->isis_header = (struct isis_fixed_hdr *)STREAM_DATA(lsp->pdu); - fill_fixed_hdr(lsp->isis_header, - (lsp->level == IS_LEVEL_1) ? L1_LINK_STATE - : L2_LINK_STATE); + fill_fixed_hdr(lsp->isis_header, (lsp->level == IS_LEVEL_1) + ? L1_LINK_STATE + : L2_LINK_STATE); lsp->lsp_header = (struct isis_link_state_hdr *)(STREAM_DATA(lsp->pdu) + ISIS_FIXED_HDR_LEN); memcpy(lsp->lsp_header, lsp_hdr, ISIS_LSP_HDR_LEN); diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c index a3706179a6..c107c2e347 100644 --- a/isisd/isis_pdu.c +++ b/isisd/isis_pdu.c @@ -1391,11 +1391,10 @@ dontcheckadj: lsp_set_all_srmflags(lsp); /* v */ ISIS_FLAGS_CLEAR_ALL( - lsp - ->SSNflags); /* FIXME: - OTHER - than c - */ + lsp->SSNflags); /* FIXME: + OTHER + than c + */ /* For the case of lsp confusion, flood * the purge back to its diff --git a/isisd/isis_pfpacket.c b/isisd/isis_pfpacket.c index e24901b0de..e5752e31f6 100644 --- a/isisd/isis_pfpacket.c +++ b/isisd/isis_pfpacket.c @@ -47,17 +47,16 @@ extern struct zebra_privs_t isisd_privs; /* tcpdump -i eth0 'isis' -dd */ -static struct sock_filter isisfilter[] = - { - /* NB: we're in SOCK_DGRAM, so src/dst mac + length are stripped - * off! - * (OTOH it's a bit more lower-layer agnostic and might work - * over GRE?) */ - /* { 0x28, 0, 0, 0x0000000c - 14 }, */ - /* { 0x25, 5, 0, 0x000005dc }, */ - {0x28, 0, 0, 0x0000000e - 14}, {0x15, 0, 3, 0x0000fefe}, - {0x30, 0, 0, 0x00000011 - 14}, {0x15, 0, 1, 0x00000083}, - {0x6, 0, 0, 0x00040000}, {0x6, 0, 0, 0x00000000}, +static struct sock_filter isisfilter[] = { + /* NB: we're in SOCK_DGRAM, so src/dst mac + length are stripped + * off! + * (OTOH it's a bit more lower-layer agnostic and might work + * over GRE?) */ + /* { 0x28, 0, 0, 0x0000000c - 14 }, */ + /* { 0x25, 5, 0, 0x000005dc }, */ + {0x28, 0, 0, 0x0000000e - 14}, {0x15, 0, 3, 0x0000fefe}, + {0x30, 0, 0, 0x00000011 - 14}, {0x15, 0, 1, 0x00000083}, + {0x6, 0, 0, 0x00040000}, {0x6, 0, 0, 0x00000000}, }; static struct sock_fprog bpf = { diff --git a/isisd/isis_redist.c b/isisd/isis_redist.c index 8e329494dd..9f27d780a4 100644 --- a/isisd/isis_redist.c +++ b/isisd/isis_redist.c @@ -389,9 +389,9 @@ static void isis_redist_update_zebra_subscriptions(struct isis *isis) for (protocol = 0; protocol < REDIST_PROTOCOL_COUNT; protocol++) for (type = 0; type < ZEBRA_ROUTE_MAX + 1; type++) for (level = 0; level < ISIS_LEVELS; level++) - if (area->redist_settings[protocol] - [type] - [level].redist) + if (area->redist_settings + [protocol][type][level] + .redist) do_subscribe[protocol][type] = 1; diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index 615c2eeaa2..620b19391d 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -366,10 +366,9 @@ static struct isis_vertex *isis_spf_add_root(struct isis_spftree *spftree, zlog_warn("ISIS-Spf: could not find own l%d LSP!", spftree->level); - vertex = isis_vertex_new(id, - spftree->area->oldmetric - ? VTYPE_NONPSEUDO_IS - : VTYPE_NONPSEUDO_TE_IS); + vertex = isis_vertex_new(id, spftree->area->oldmetric + ? VTYPE_NONPSEUDO_IS + : VTYPE_NONPSEUDO_TE_IS); listnode_add(spftree->paths, vertex); #ifdef EXTREME_DEBUG @@ -508,11 +507,13 @@ static void isis_spf_add_local(struct isis_spftree *spftree, /* d) */ if (listcount(vertex->Adj_N) > ISIS_MAX_PATH_SPLITS) remove_excess_adjs(vertex->Adj_N); - if (parent && (listnode_lookup(vertex->parents, parent) - == NULL)) + if (parent + && (listnode_lookup(vertex->parents, parent) + == NULL)) listnode_add(vertex->parents, parent); - if (parent && (listnode_lookup(parent->children, vertex) - == NULL)) + if (parent + && (listnode_lookup(parent->children, vertex) + == NULL)) listnode_add(parent->children, vertex); return; } else if (vertex->d_N < cost) { @@ -649,8 +650,9 @@ static int isis_spf_process_lsp(struct isis_spftree *spftree, mt_router_info = tlvs_lookup_mt_router_info(&lsp->tlv_data, spftree->mtid); - if (!pseudo_lsp && (spftree->mtid == ISIS_MT_IPV4_UNICAST - && !speaks(lsp->tlv_data.nlpids, spftree->family)) + if (!pseudo_lsp + && (spftree->mtid == ISIS_MT_IPV4_UNICAST + && !speaks(lsp->tlv_data.nlpids, spftree->family)) && !mt_router_info) return ISIS_OK; @@ -667,8 +669,9 @@ lspfragloop: #endif /* EXTREME_DEBUG */ /* RFC3787 section 4 SHOULD ignore overload bit in pseudo LSPs */ - if (pseudo_lsp || (spftree->mtid == ISIS_MT_IPV4_UNICAST - && !ISIS_MASK_LSP_OL_BIT(lsp->lsp_header->lsp_bits)) + if (pseudo_lsp + || (spftree->mtid == ISIS_MT_IPV4_UNICAST + && !ISIS_MASK_LSP_OL_BIT(lsp->lsp_header->lsp_bits)) || (mt_router_info && !mt_router_info->overload)) { diff --git a/isisd/isis_tlv.h b/isisd/isis_tlv.h index d06548519f..dea44f5f23 100644 --- a/isisd/isis_tlv.h +++ b/isisd/isis_tlv.h @@ -217,7 +217,7 @@ struct te_ipv4_reachability { u_int32_t te_metric; u_char control; u_char prefix_start; /* since this is variable length by nature it only - */ + */ }; /* points to an approximate location */ #define TE_IPV4_HAS_SUBTLV (0x40) diff --git a/isisd/isisd.h b/isisd/isisd.h index 1aacea881f..007d48f33d 100644 --- a/isisd/isisd.h +++ b/isisd/isisd.h @@ -70,7 +70,7 @@ struct isis_area { struct isis_spftree *spftree6[ISIS_LEVELS]; /* The v6 SPTs */ struct route_table *route_table6[ISIS_LEVELS]; /* IPv6 routes */ /* $FRR indent$ */ -/* clang-format off */ + /* clang-format off */ #define DEFAULT_LSP_MTU 1497 unsigned int lsp_mtu; /* Size of LSPs to generate */ struct list *circuit_list; /* IS-IS circuits */ diff --git a/lib/checksum.c b/lib/checksum.c index 8eef73e243..7666c58a31 100644 --- a/lib/checksum.c +++ b/lib/checksum.c @@ -10,7 +10,7 @@ #include "checksum.h" int /* return checksum in low-order 16 bits */ - in_cksum(void *parg, int nbytes) +in_cksum(void *parg, int nbytes) { u_short *ptr = parg; register long sum; /* assumes long == 32 bits */ diff --git a/lib/command.c b/lib/command.c index d97ad9db3c..d4b628ab02 100644 --- a/lib/command.c +++ b/lib/command.c @@ -56,19 +56,23 @@ struct host host; /* Standard command node structures. */ static struct cmd_node auth_node = { - AUTH_NODE, "Password: ", + AUTH_NODE, + "Password: ", }; static struct cmd_node view_node = { - VIEW_NODE, "%s> ", + VIEW_NODE, + "%s> ", }; static struct cmd_node auth_enable_node = { - AUTH_ENABLE_NODE, "Password: ", + AUTH_ENABLE_NODE, + "Password: ", }; static struct cmd_node enable_node = { - ENABLE_NODE, "%s# ", + ENABLE_NODE, + "%s# ", }; static struct cmd_node config_node = {CONFIG_NODE, "%s(config)# ", 1}; @@ -649,8 +653,9 @@ void cmd_variable_complete(struct cmd_token *token, const char *arg, for (ALL_LIST_ELEMENTS_RO(varhandlers, ln, cvh)) { if (cvh->tokenname && strcmp(cvh->tokenname, token->text)) continue; - if (cvh->varname && (!token->varname - || strcmp(cvh->varname, token->varname))) + if (cvh->varname + && (!token->varname + || strcmp(cvh->varname, token->varname))) continue; cvh->completions(tmpcomps, token); break; @@ -1495,8 +1500,9 @@ DEFUN (config_write, struct stat conf_stat; // if command was 'write terminal' or 'show running-config' - if (argc == 2 && (strmatch(argv[idx_type]->text, "terminal") - || strmatch(argv[0]->text, "show"))) { + if (argc == 2 + && (strmatch(argv[idx_type]->text, "terminal") + || strmatch(argv[0]->text, "show"))) { vty_write_config(vty); return CMD_SUCCESS; } diff --git a/lib/command_py.c b/lib/command_py.c index 785d2ffa70..be4c39a361 100644 --- a/lib/command_py.c +++ b/lib/command_py.c @@ -203,7 +203,7 @@ static PyObject *graph_to_pyobj(struct wrap_graph *wgraph, /* plumbing types */ item(FORK_TKN) item(JOIN_TKN) item(START_TKN) item(END_TKN) default - : wrap->type = "???"; + : wrap->type = "???"; } wrap->deprecated = (tok->attr == CMD_ATTR_DEPRECATED); diff --git a/lib/getopt.c b/lib/getopt.c index 71799c9b6d..3f52c6f06b 100644 --- a/lib/getopt.c +++ b/lib/getopt.c @@ -619,8 +619,9 @@ int long_only; if (longopts != NULL && (argv[optind][1] == '-' - || (long_only && (argv[optind][2] - || !my_index(optstring, argv[optind][1]))))) { + || (long_only + && (argv[optind][2] + || !my_index(optstring, argv[optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; diff --git a/lib/hook.h b/lib/hook.h index 4a5cee2fd3..da3419bd27 100644 --- a/lib/hook.h +++ b/lib/hook.h @@ -161,7 +161,8 @@ extern void _hook_unregister(struct hook *hook, void *funcptr, void *arg, */ #define DEFINE_HOOK(hookname, arglist, passlist) \ struct hook _hook_##hookname = { \ - .name = #hookname, .entries = NULL, \ + .name = #hookname, \ + .entries = NULL, \ }; \ static int hook_call_##hookname arglist \ { \ @@ -236,7 +236,7 @@ struct interface { unsigned int mtu; /* IPv4 MTU */ unsigned int mtu6; /* IPv6 MTU - probably, but not neccessarily same as mtu - */ + */ /* Link-layer information and hardware address */ enum zebra_link_type ll_type; @@ -411,7 +411,7 @@ void zlog_signal(int signo, const char *action , siginfo_t *siginfo, void *program_counter #endif - ) +) { time_t now; char buf[sizeof("DEFAULT: Received signal S at T (si_addr 0xP, PC 0xP); aborting...") @@ -474,7 +474,7 @@ void zlog_signal(int signo, const char *action #else NULL #endif - ); + ); s = buf; struct thread *tc; @@ -1063,10 +1063,9 @@ void zlog_hexdump(const void *mem, unsigned int len) printing */ s += sprintf(s, " "); - else if ( - isprint((int)((const char *)mem) - [j])) /* printable char - */ + else if (isprint((int)((const char *)mem) + [j])) /* printable char + */ s += sprintf( s, "%c", 0xFF & ((const char *)mem)[j]); @@ -109,7 +109,7 @@ extern void zlog_signal(int signo, const char *action , siginfo_t *siginfo, void *program_counter #endif - ); +); /* Log a backtrace. */ extern void zlog_backtrace(int priority); @@ -143,7 +143,7 @@ struct timestamp_control { int precision; /* configuration parameter */ int already_rendered; /* should be initialized to 0 */ char buf[QUAGGA_TIMESTAMP_LEN]; /* will contain the rendered timestamp - */ + */ }; /* Defines for use in command construction: */ @@ -389,11 +389,11 @@ uint8_t *digest; /* caller digest to be filled in */ { MD5_CTX context; unsigned char k_ipad[65]; /* inner padding - - * key XORd with ipad - */ + * key XORd with ipad + */ unsigned char k_opad[65]; /* outer padding - - * key XORd with opad - */ + * key XORd with opad + */ unsigned char tk[16]; int i; /* if key is longer than 64 bytes reset it to key=MD5(key) */ diff --git a/lib/mpls.h b/lib/mpls.h index 025770d479..38482e2f92 100644 --- a/lib/mpls.h +++ b/lib/mpls.h @@ -173,7 +173,7 @@ static inline char *label2str(mpls_label_t label, char *buf, size_t len) #define MPLS_LABEL_RTALERT 1 /* Router Alert Label */ #define MPLS_LABEL_IPV6NULL 2 /* IPv6 Explicit NULL Label */ #define MPLS_LABEL_IMPLNULL 3 /* Implicit NULL Label */ - /* MPLS_LABEL_RESERVED 4-15 */ /* Values 4-15 are reserved */ +/* MPLS_LABEL_RESERVED 4-15 */ /* Values 4-15 are reserved */ #define MPLS_LABEL_RESERVED_MAX 15 #define MPLS_LABEL_MAX ((1 << 20) - 1) diff --git a/lib/openbsd-tree.h b/lib/openbsd-tree.h index 859f751678..bfa695fcdc 100644 --- a/lib/openbsd-tree.h +++ b/lib/openbsd-tree.h @@ -509,7 +509,9 @@ int _rb_check(const struct rb_type *, void *, unsigned long); return _cmp(l, r); \ } \ static const struct rb_type _name##_RB_INFO = { \ - _name##_RB_COMPARE, _aug, offsetof(struct _type, _field), \ + _name##_RB_COMPARE, \ + _aug, \ + offsetof(struct _type, _field), \ }; \ const struct rb_type *const _name##_RB_TYPE = &_name##_RB_INFO; diff --git a/lib/plist.c b/lib/plist.c index d7a0db6807..a598548c68 100644 --- a/lib/plist.c +++ b/lib/plist.c @@ -1918,8 +1918,9 @@ int prefix_bgp_show_prefix_list(struct vty *vty, afi_t afi, char *name, json_object_object_add(json, "ipv6PrefixList", json_prefix); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { vty_out(vty, "ip%s prefix-list %s: %d entries\n", diff --git a/lib/prefix.c b/lib/prefix.c index 88b13cd99f..6a37d7de36 100644 --- a/lib/prefix.c +++ b/lib/prefix.c @@ -1151,8 +1151,9 @@ const char *prefix2str(union prefixconstptr pu, char *str, int size) switch (p->family) { case AF_INET: case AF_INET6: - snprintf(str, size, "%s/%d", inet_ntop(p->family, &p->u.prefix, - buf, PREFIX2STR_BUFFER), + snprintf(str, size, "%s/%d", + inet_ntop(p->family, &p->u.prefix, buf, + PREFIX2STR_BUFFER), p->prefixlen); break; diff --git a/lib/prefix.h b/lib/prefix.h index ce13dcfa0a..ab9e49f7af 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -53,9 +53,9 @@ struct ethaddr { /* length is the number of valuable bits of prefix structure -* 18 bytes is current length in structure, if address is ipv4 -* 30 bytes is in case of ipv6 -*/ + * 18 bytes is current length in structure, if address is ipv4 + * 30 bytes is in case of ipv6 + */ #define PREFIX_LEN_ROUTE_TYPE_5_IPV4 (18*8) #define PREFIX_LEN_ROUTE_TYPE_5_IPV6 (30*8) diff --git a/lib/privs.c b/lib/privs.c index c971596117..81673f84a1 100644 --- a/lib/privs.c +++ b/lib/privs.c @@ -99,113 +99,131 @@ static struct { pvalue_t *system_caps; } cap_map[ZCAP_MAX] = { #ifdef HAVE_LCAPS /* Quagga -> Linux capabilities mappings */ - [ZCAP_SETID] = - { - 2, (pvalue_t[]){CAP_SETGID, CAP_SETUID}, - }, - [ZCAP_BIND] = - { - 1, (pvalue_t[]){CAP_NET_BIND_SERVICE}, - }, - [ZCAP_NET_ADMIN] = - { - 1, (pvalue_t[]){CAP_NET_ADMIN}, - }, - [ZCAP_NET_RAW] = - { - 1, (pvalue_t[]){CAP_NET_RAW}, - }, - [ZCAP_CHROOT] = - { - 1, - (pvalue_t[]){ - CAP_SYS_CHROOT, - }, - }, - [ZCAP_NICE] = - { - 1, (pvalue_t[]){CAP_SYS_NICE}, - }, - [ZCAP_PTRACE] = - { - 1, (pvalue_t[]){CAP_SYS_PTRACE}, - }, - [ZCAP_DAC_OVERRIDE] = - { - 1, (pvalue_t[]){CAP_DAC_OVERRIDE}, - }, - [ZCAP_READ_SEARCH] = - { - 1, (pvalue_t[]){CAP_DAC_READ_SEARCH}, - }, - [ZCAP_SYS_ADMIN] = - { - 1, (pvalue_t[]){CAP_SYS_ADMIN}, - }, - [ZCAP_FOWNER] = - { - 1, (pvalue_t[]){CAP_FOWNER}, + [ZCAP_SETID] = + { + 2, + (pvalue_t[]){CAP_SETGID, CAP_SETUID}, + }, + [ZCAP_BIND] = + { + 1, + (pvalue_t[]){CAP_NET_BIND_SERVICE}, + }, + [ZCAP_NET_ADMIN] = + { + 1, + (pvalue_t[]){CAP_NET_ADMIN}, + }, + [ZCAP_NET_RAW] = + { + 1, + (pvalue_t[]){CAP_NET_RAW}, + }, + [ZCAP_CHROOT] = + { + 1, + (pvalue_t[]){ + CAP_SYS_CHROOT, }, + }, + [ZCAP_NICE] = + { + 1, + (pvalue_t[]){CAP_SYS_NICE}, + }, + [ZCAP_PTRACE] = + { + 1, + (pvalue_t[]){CAP_SYS_PTRACE}, + }, + [ZCAP_DAC_OVERRIDE] = + { + 1, + (pvalue_t[]){CAP_DAC_OVERRIDE}, + }, + [ZCAP_READ_SEARCH] = + { + 1, + (pvalue_t[]){CAP_DAC_READ_SEARCH}, + }, + [ZCAP_SYS_ADMIN] = + { + 1, + (pvalue_t[]){CAP_SYS_ADMIN}, + }, + [ZCAP_FOWNER] = + { + 1, + (pvalue_t[]){CAP_FOWNER}, + }, #elif defined(HAVE_SOLARIS_CAPABILITIES) /* HAVE_LCAPS */ - /* Quagga -> Solaris privilege mappings */ - [ZCAP_SETID] = - { - 1, (pvalue_t[]){PRIV_PROC_SETID}, - }, - [ZCAP_BIND] = - { - 1, (pvalue_t[]){PRIV_NET_PRIVADDR}, - }, + /* Quagga -> Solaris privilege mappings */ + [ZCAP_SETID] = + { + 1, + (pvalue_t[]){PRIV_PROC_SETID}, + }, + [ZCAP_BIND] = + { + 1, + (pvalue_t[]){PRIV_NET_PRIVADDR}, + }, /* IP_CONFIG is a subset of NET_CONFIG and is allowed in zones */ #ifdef PRIV_SYS_IP_CONFIG - [ZCAP_NET_ADMIN] = - { - 1, (pvalue_t[]){PRIV_SYS_IP_CONFIG}, - }, + [ZCAP_NET_ADMIN] = + { + 1, + (pvalue_t[]){PRIV_SYS_IP_CONFIG}, + }, #else - [ZCAP_NET_ADMIN] = - { - 1, (pvalue_t[]){PRIV_SYS_NET_CONFIG}, - }, + [ZCAP_NET_ADMIN] = + { + 1, + (pvalue_t[]){PRIV_SYS_NET_CONFIG}, + }, #endif - [ZCAP_NET_RAW] = - { - 2, (pvalue_t[]){PRIV_NET_RAWACCESS, - PRIV_NET_ICMPACCESS}, - }, - [ZCAP_CHROOT] = - { - 1, (pvalue_t[]){PRIV_PROC_CHROOT}, - }, - [ZCAP_NICE] = - { - 1, (pvalue_t[]){PRIV_PROC_PRIOCNTL}, - }, - [ZCAP_PTRACE] = - { - 1, (pvalue_t[]){PRIV_PROC_SESSION}, - }, - [ZCAP_DAC_OVERRIDE] = - { - 5, (pvalue_t[]){PRIV_FILE_DAC_EXECUTE, - PRIV_FILE_DAC_READ, - PRIV_FILE_DAC_SEARCH, - PRIV_FILE_DAC_WRITE, - PRIV_FILE_DAC_SEARCH}, - }, - [ZCAP_READ_SEARCH] = - { - 2, (pvalue_t[]){PRIV_FILE_DAC_SEARCH, - PRIV_FILE_DAC_READ}, - }, - [ZCAP_SYS_ADMIN] = - { - 1, (pvalue_t[]){PRIV_SYS_ADMIN}, - }, - [ZCAP_FOWNER] = - { - 1, (pvalue_t[]){PRIV_FILE_OWNER}, - }, + [ZCAP_NET_RAW] = + { + 2, + (pvalue_t[]){PRIV_NET_RAWACCESS, PRIV_NET_ICMPACCESS}, + }, + [ZCAP_CHROOT] = + { + 1, + (pvalue_t[]){PRIV_PROC_CHROOT}, + }, + [ZCAP_NICE] = + { + 1, + (pvalue_t[]){PRIV_PROC_PRIOCNTL}, + }, + [ZCAP_PTRACE] = + { + 1, + (pvalue_t[]){PRIV_PROC_SESSION}, + }, + [ZCAP_DAC_OVERRIDE] = + { + 5, + (pvalue_t[]){PRIV_FILE_DAC_EXECUTE, PRIV_FILE_DAC_READ, + PRIV_FILE_DAC_SEARCH, PRIV_FILE_DAC_WRITE, + PRIV_FILE_DAC_SEARCH}, + }, + [ZCAP_READ_SEARCH] = + { + 2, + (pvalue_t[]){PRIV_FILE_DAC_SEARCH, PRIV_FILE_DAC_READ}, + }, + [ZCAP_SYS_ADMIN] = + { + 1, + (pvalue_t[]){PRIV_SYS_ADMIN}, + }, + [ZCAP_FOWNER] = + { + 1, + (pvalue_t[]){PRIV_FILE_OWNER}, + }, #endif /* HAVE_SOLARIS_CAPABILITIES */ }; @@ -767,7 +785,7 @@ void zprivs_init(struct zebra_privs_t *zprivs) if (zprivs->vty_group) /* Add the vty_group to the supplementary groups so it can be chowned to - */ + */ { if (zprivs_state.vtygrp == (gid_t)-1) { fprintf(stderr, diff --git a/lib/routemap.c b/lib/routemap.c index 3d1add25dc..40daeae41c 100644 --- a/lib/routemap.c +++ b/lib/routemap.c @@ -1232,8 +1232,9 @@ int route_map_delete_match(struct route_map_index *index, return 1; for (rule = index->match_list.head; rule; rule = rule->next) - if (rule->cmd == cmd && (rulecmp(rule->rule_str, match_arg) == 0 - || match_arg == NULL)) { + if (rule->cmd == cmd + && (rulecmp(rule->rule_str, match_arg) == 0 + || match_arg == NULL)) { route_map_rule_delete(&index->match_list, rule); /* Execute event hook. */ if (route_map_master.event_hook) { @@ -1319,8 +1320,9 @@ int route_map_delete_set(struct route_map_index *index, const char *set_name, return 1; for (rule = index->set_list.head; rule; rule = rule->next) - if ((rule->cmd == cmd) && (rulecmp(rule->rule_str, set_arg) == 0 - || set_arg == NULL)) { + if ((rule->cmd == cmd) + && (rulecmp(rule->rule_str, set_arg) == 0 + || set_arg == NULL)) { route_map_rule_delete(&index->set_list, rule); /* Execute event hook. */ if (route_map_master.event_hook) { diff --git a/lib/sigevent.c b/lib/sigevent.c index 2a04fa23cb..2eebb47d6c 100644 --- a/lib/sigevent.c +++ b/lib/sigevent.c @@ -207,14 +207,14 @@ exit_handler(int signo , siginfo_t *siginfo, void *context #endif - ) +) { zlog_signal(signo, "exiting..." #ifdef SA_SIGINFO , siginfo, program_counter(context) #endif - ); + ); _exit(128 + signo); } @@ -224,7 +224,7 @@ core_handler(int signo , siginfo_t *siginfo, void *context #endif - ) +) { /* make sure we don't hang in here. default for SIGALRM is terminate. * - if we're in backtrace for more than a second, abort. */ @@ -243,7 +243,7 @@ core_handler(int signo , siginfo, program_counter(context) #endif - ); + ); /* dump memory stats on core */ log_memstats_stderr("core_handler"); abort(); @@ -290,7 +290,7 @@ static void trap_default_signals(void) , siginfo_t *info, void *context #endif - ); + ); } sigmap[] = { {core_signals, array_size(core_signals), core_handler}, {exit_signals, array_size(exit_signals), exit_handler}, diff --git a/lib/smux.c b/lib/smux.c index 9a0063df21..56c2e874a2 100644 --- a/lib/smux.c +++ b/lib/smux.c @@ -210,22 +210,25 @@ static void smux_getresp_send(oid objid[], size_t objid_len, long reqid, ptr = asn_build_sequence(ptr, &len, (u_char)SMUX_GETRSP, 0); h1e = ptr; - ptr = asn_build_int(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_INTEGER), - &reqid, sizeof(reqid)); + ptr = asn_build_int( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), &reqid, + sizeof(reqid)); if (debug_smux) zlog_debug("SMUX GETRSP errstat: %ld", errstat); - ptr = asn_build_int(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_INTEGER), - &errstat, sizeof(errstat)); + ptr = asn_build_int( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), &errstat, + sizeof(errstat)); if (debug_smux) zlog_debug("SMUX GETRSP errindex: %ld", errindex); - ptr = asn_build_int(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_INTEGER), - &errindex, sizeof(errindex)); + ptr = asn_build_int( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), + &errindex, sizeof(errindex)); h2 = ptr; /* Place holder h2 for one variable */ @@ -884,24 +887,28 @@ static int smux_open(int sock) /* SMUX Open. */ version = 0; - ptr = asn_build_int(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_INTEGER), - &version, sizeof(version)); + ptr = asn_build_int( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), &version, + sizeof(version)); /* SMUX connection oid. */ - ptr = asn_build_objid(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_OBJECT_ID), - smux_oid, smux_oid_len); + ptr = asn_build_objid( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OBJECT_ID), + smux_oid, smux_oid_len); /* SMUX connection description. */ - ptr = asn_build_string(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_OCTET_STR), - (const u_char *)progname, strlen(progname)); + ptr = asn_build_string( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OCTET_STR), + (const u_char *)progname, strlen(progname)); /* SMUX connection password. */ - ptr = asn_build_string(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_OCTET_STR), - (u_char *)smux_passwd, strlen(smux_passwd)); + ptr = asn_build_string( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OCTET_STR), + (u_char *)smux_passwd, strlen(smux_passwd)); /* Fill in real SMUX header. We exclude ASN header size (2). */ len = BUFSIZ; @@ -941,27 +948,31 @@ int smux_trap(struct variable *vp, size_t vp_len, const oid *ename, ptr = asn_build_header(ptr, &len, (u_char)SMUX_TRAP, 0); /* Sub agent enterprise oid. */ - ptr = asn_build_objid(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_OBJECT_ID), - smux_oid, smux_oid_len); + ptr = asn_build_objid( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_OBJECT_ID), + smux_oid, smux_oid_len); /* IP address. */ addr.s_addr = 0; - ptr = asn_build_string(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_IPADDRESS), - (u_char *)&addr, sizeof(addr)); + ptr = asn_build_string( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_IPADDRESS), + (u_char *)&addr, sizeof(addr)); /* Generic trap integer. */ val = SNMP_TRAP_ENTERPRISESPECIFIC; - ptr = asn_build_int(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_INTEGER), - (long *)&val, sizeof(val)); + ptr = asn_build_int( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), + (long *)&val, sizeof(val)); /* Specific trap integer. */ val = sptrap; - ptr = asn_build_int(ptr, &len, (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE - | ASN_INTEGER), - (long *)&val, sizeof(val)); + ptr = asn_build_int( + ptr, &len, + (u_char)(ASN_UNIVERSAL | ASN_PRIMITIVE | ASN_INTEGER), + (long *)&val, sizeof(val)); /* Timeticks timestamp. */ val = 0; diff --git a/lib/sockopt.c b/lib/sockopt.c index d100991a33..a1bde13a9c 100644 --- a/lib/sockopt.c +++ b/lib/sockopt.c @@ -261,8 +261,9 @@ int setsockopt_ipv4_multicast(int sock, int optname, struct in_addr if_addr, zlog_info( "setsockopt_ipv4_multicast attempting to drop and " "re-add (fd %d, mcast %s, ifindex %u)", - sock, inet_ntop(AF_INET, &mreqn.imr_multiaddr, buf[0], - sizeof(buf[0])), + sock, + inet_ntop(AF_INET, &mreqn.imr_multiaddr, buf[0], + sizeof(buf[0])), ifindex); setsockopt(sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, (void *)&mreqn, sizeof(mreqn)); @@ -303,8 +304,9 @@ int setsockopt_ipv4_multicast(int sock, int optname, struct in_addr if_addr, zlog_info( "setsockopt_ipv4_multicast attempting to drop and " "re-add (fd %d, mcast %s, ifindex %u)", - sock, inet_ntop(AF_INET, &mreq.imr_multiaddr, buf[0], - sizeof(buf[0])), + sock, + inet_ntop(AF_INET, &mreq.imr_multiaddr, buf[0], + sizeof(buf[0])), ifindex); setsockopt(sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, (void *)&mreq, sizeof(mreq)); @@ -2822,7 +2822,9 @@ static int vty_config_write(struct vty *vty) } struct cmd_node vty_node = { - VTY_NODE, "%s(config-line)# ", 1, + VTY_NODE, + "%s(config-line)# ", + 1, }; /* Reset all VTY status. */ diff --git a/lib/zassert.h b/lib/zassert.h index 5c06d933e6..3adaf4f98c 100644 --- a/lib/zassert.h +++ b/lib/zassert.h @@ -34,9 +34,10 @@ extern void _zlog_assert_failed(const char *assertion, const char *file, #endif #define zassert(EX) \ - ((void)((EX) ? 0 : (_zlog_assert_failed(#EX, __FILE__, __LINE__, \ - __ASSERT_FUNCTION), \ - 0))) + ((void)((EX) ? 0 \ + : (_zlog_assert_failed(#EX, __FILE__, __LINE__, \ + __ASSERT_FUNCTION), \ + 0))) #undef assert #define assert(EX) zassert(EX) diff --git a/lib/zclient.c b/lib/zclient.c index a54d8749a3..b4511ed2cb 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -1480,8 +1480,9 @@ struct connected *zebra_interface_address_read(int type, struct stream *s, zlog_warn( "warning: interface %s address %s " "with peer flag set, but no peer address!", - ifp->name, prefix2str(ifc->address, buf, - sizeof buf)); + ifp->name, + prefix2str(ifc->address, buf, + sizeof buf)); UNSET_FLAG(ifc->flags, ZEBRA_IFA_PEER); } } diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c index 7f8341d0e4..5d344aca71 100644 --- a/ospf6d/ospf6_asbr.c +++ b/ospf6d/ospf6_asbr.c @@ -848,7 +848,9 @@ static route_map_result_t ospf6_routemap_rule_match_tag(void *rule, } static struct route_map_rule_cmd ospf6_routemap_rule_match_tag_cmd = { - "tag", ospf6_routemap_rule_match_tag, route_map_rule_tag_compile, + "tag", + ospf6_routemap_rule_match_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -883,7 +885,8 @@ static void ospf6_routemap_rule_set_metric_type_free(void *rule) } struct route_map_rule_cmd ospf6_routemap_rule_set_metric_type_cmd = { - "metric-type", ospf6_routemap_rule_set_metric_type, + "metric-type", + ospf6_routemap_rule_set_metric_type, ospf6_routemap_rule_set_metric_type_compile, ospf6_routemap_rule_set_metric_type_free, }; @@ -918,7 +921,8 @@ static void ospf6_routemap_rule_set_metric_free(void *rule) } struct route_map_rule_cmd ospf6_routemap_rule_set_metric_cmd = { - "metric", ospf6_routemap_rule_set_metric, + "metric", + ospf6_routemap_rule_set_metric, ospf6_routemap_rule_set_metric_compile, ospf6_routemap_rule_set_metric_free, }; @@ -956,7 +960,8 @@ static void ospf6_routemap_rule_set_forwarding_free(void *rule) } struct route_map_rule_cmd ospf6_routemap_rule_set_forwarding_cmd = { - "forwarding-address", ospf6_routemap_rule_set_forwarding, + "forwarding-address", + ospf6_routemap_rule_set_forwarding, ospf6_routemap_rule_set_forwarding_compile, ospf6_routemap_rule_set_forwarding_free, }; @@ -978,7 +983,9 @@ static route_map_result_t ospf6_routemap_rule_set_tag(void *rule, } static struct route_map_rule_cmd ospf6_routemap_rule_set_tag_cmd = { - "tag", ospf6_routemap_rule_set_tag, route_map_rule_tag_compile, + "tag", + ospf6_routemap_rule_set_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 1d17a1c233..7921df884e 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -1402,9 +1402,10 @@ DEFUN (ipv6_ospf6_priority, oi->priority = strtol(argv[idx_number]->arg, NULL, 10); - if (oi->area && (oi->state == OSPF6_INTERFACE_DROTHER - || oi->state == OSPF6_INTERFACE_BDR - || oi->state == OSPF6_INTERFACE_DR)) + if (oi->area + && (oi->state == OSPF6_INTERFACE_DROTHER + || oi->state == OSPF6_INTERFACE_BDR + || oi->state == OSPF6_INTERFACE_DR)) ospf6_interface_state_change(dr_election(oi), oi); return CMD_SUCCESS; diff --git a/ospf6d/ospf6_intra.c b/ospf6d/ospf6_intra.c index 7c5c44fca7..66e5714d07 100644 --- a/ospf6d/ospf6_intra.c +++ b/ospf6d/ospf6_intra.c @@ -73,8 +73,9 @@ static char *ospf6_router_lsa_get_nbr_id(struct ospf6_lsa *lsa, char *buf, lsdesc = (struct ospf6_router_lsdesc *)(start - + pos * (sizeof(struct - ospf6_router_lsdesc))); + + pos + * (sizeof(struct + ospf6_router_lsdesc))); if ((char *)lsdesc < end) { if (buf && (buflen > INET_ADDRSTRLEN * 2)) { inet_ntop(AF_INET, diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c index aa5f05ce17..78f1148243 100644 --- a/ospf6d/ospf6_message.c +++ b/ospf6d/ospf6_message.c @@ -869,7 +869,7 @@ static unsigned ospf6_prefixes_examin( unsigned length, const u_int32_t req_num_pfxs /* always compared with the actual number of prefixes */ - ) +) { u_char requested_pfx_bytes; u_int32_t real_num_pfxs = 0; @@ -1066,7 +1066,7 @@ static unsigned ospf6_lsa_examin(struct ospf6_lsa_header *lsah, lsalen - OSPF6_LSA_HEADER_SIZE - OSPF6_LINK_LSA_MIN_SIZE, ntohl(link_lsa->prefix_num) /* 32 bits */ - ); + ); case OSPF6_LSTYPE_INTRA_PREFIX: /* RFC5340 A.4.10, LSA header + OSPF6_INTRA_PREFIX_LSA_MIN_SIZE bytes @@ -1084,7 +1084,7 @@ static unsigned ospf6_lsa_examin(struct ospf6_lsa_header *lsah, lsalen - OSPF6_LSA_HEADER_SIZE - OSPF6_INTRA_PREFIX_LSA_MIN_SIZE, ntohs(intra_prefix_lsa->prefix_num) /* 16 bits */ - ); + ); } /* No additional validation is possible for unknown LSA types, which are themselves valid in OPSFv3, hence the default decision is to accept. @@ -1270,7 +1270,7 @@ static unsigned ospf6_packet_examin(struct ospf6_header *oh, + OSPF6_LS_UPD_MIN_SIZE), bytesonwire - OSPF6_HEADER_SIZE - OSPF6_LS_UPD_MIN_SIZE, 0, ntohl(lsupd->lsa_number) /* 32 bits */ - ); + ); break; case OSPF6_MESSAGE_TYPE_LSACK: /* RFC5340 A.3.6, packet header + N>=0 header-only LSAs. */ diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c index d33f41730e..84993f0b4c 100644 --- a/ospf6d/ospf6_zebra.c +++ b/ospf6d/ospf6_zebra.c @@ -347,7 +347,8 @@ static int config_write_ospf6_zebra(struct vty *vty) /* Zebra node structure. */ static struct cmd_node zebra_node = { - ZEBRA_NODE, "%s(config-zebra)# ", + ZEBRA_NODE, + "%s(config-zebra)# ", }; #define ADD 0 diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c index c6d4364fa3..41c21ee9b6 100644 --- a/ospfd/ospf_abr.c +++ b/ospfd/ospf_abr.c @@ -1034,22 +1034,20 @@ static void ospf_abr_process_network_rt(struct ospf *ospf, continue; } - if ( - or->path_type == OSPF_PATH_INTRA_AREA - && !ospf_abr_should_announce( - ospf, (struct prefix_ipv4 *)&rn->p, - or)) { + if (or->path_type == OSPF_PATH_INTRA_AREA + && !ospf_abr_should_announce( + ospf, (struct prefix_ipv4 *)&rn->p, + or)) { if (IS_DEBUG_OSPF_EVENT) zlog_debug( "ospf_abr_process_network_rt(): denied by export-list"); continue; } - if ( - or->path_type == OSPF_PATH_INTRA_AREA - && !ospf_abr_plist_out_check( - area, or, - (struct prefix_ipv4 *)&rn->p)) { + if (or->path_type == OSPF_PATH_INTRA_AREA + && !ospf_abr_plist_out_check( + area, or, + (struct prefix_ipv4 *)&rn->p)) { if (IS_DEBUG_OSPF_EVENT) zlog_debug( "ospf_abr_process_network_rt(): denied by prefix-list"); @@ -1271,10 +1269,9 @@ static void ospf_abr_process_router_rt(struct ospf *ospf, continue; } - if ( - or->path_type == OSPF_PATH_INTER_AREA - && !OSPF_IS_AREA_ID_BACKBONE( - or->u.std.area_id)) { + if (or->path_type == OSPF_PATH_INTER_AREA + && !OSPF_IS_AREA_ID_BACKBONE( + or->u.std.area_id)) { if (IS_DEBUG_OSPF_EVENT) zlog_debug( "ospf_abr_process_router_rt(): " diff --git a/ospfd/ospf_api.c b/ospfd/ospf_api.c index f1a7433760..10570f4e62 100644 --- a/ospfd/ospf_api.c +++ b/ospfd/ospf_api.c @@ -131,46 +131,60 @@ const char *ospf_api_typename(int msgtype) { struct nametab NameTab[] = { { - MSG_REGISTER_OPAQUETYPE, "Register opaque-type", + MSG_REGISTER_OPAQUETYPE, + "Register opaque-type", }, { - MSG_UNREGISTER_OPAQUETYPE, "Unregister opaque-type", + MSG_UNREGISTER_OPAQUETYPE, + "Unregister opaque-type", }, { - MSG_REGISTER_EVENT, "Register event", + MSG_REGISTER_EVENT, + "Register event", }, { - MSG_SYNC_LSDB, "Sync LSDB", + MSG_SYNC_LSDB, + "Sync LSDB", }, { - MSG_ORIGINATE_REQUEST, "Originate request", + MSG_ORIGINATE_REQUEST, + "Originate request", }, { - MSG_DELETE_REQUEST, "Delete request", + MSG_DELETE_REQUEST, + "Delete request", }, { - MSG_REPLY, "Reply", + MSG_REPLY, + "Reply", }, { - MSG_READY_NOTIFY, "Ready notify", + MSG_READY_NOTIFY, + "Ready notify", }, { - MSG_LSA_UPDATE_NOTIFY, "LSA update notify", + MSG_LSA_UPDATE_NOTIFY, + "LSA update notify", }, { - MSG_LSA_DELETE_NOTIFY, "LSA delete notify", + MSG_LSA_DELETE_NOTIFY, + "LSA delete notify", }, { - MSG_NEW_IF, "New interface", + MSG_NEW_IF, + "New interface", }, { - MSG_DEL_IF, "Del interface", + MSG_DEL_IF, + "Del interface", }, { - MSG_ISM_CHANGE, "ISM change", + MSG_ISM_CHANGE, + "ISM change", }, { - MSG_NSM_CHANGE, "NSM change", + MSG_NSM_CHANGE, + "NSM change", }, }; @@ -191,38 +205,48 @@ const char *ospf_api_errname(int errcode) { struct nametab NameTab[] = { { - OSPF_API_OK, "OK", + OSPF_API_OK, + "OK", }, { - OSPF_API_NOSUCHINTERFACE, "No such interface", + OSPF_API_NOSUCHINTERFACE, + "No such interface", }, { - OSPF_API_NOSUCHAREA, "No such area", + OSPF_API_NOSUCHAREA, + "No such area", }, { - OSPF_API_NOSUCHLSA, "No such LSA", + OSPF_API_NOSUCHLSA, + "No such LSA", }, { - OSPF_API_ILLEGALLSATYPE, "Illegal LSA type", + OSPF_API_ILLEGALLSATYPE, + "Illegal LSA type", }, { - OSPF_API_OPAQUETYPEINUSE, "Opaque type in use", + OSPF_API_OPAQUETYPEINUSE, + "Opaque type in use", }, { OSPF_API_OPAQUETYPENOTREGISTERED, "Opaque type not registered", }, { - OSPF_API_NOTREADY, "Not ready", + OSPF_API_NOTREADY, + "Not ready", }, { - OSPF_API_NOMEMORY, "No memory", + OSPF_API_NOMEMORY, + "No memory", }, { - OSPF_API_ERROR, "Other error", + OSPF_API_ERROR, + "Other error", }, { - OSPF_API_UNDEF, "Undefined", + OSPF_API_UNDEF, + "Undefined", }, }; diff --git a/ospfd/ospf_apiserver.c b/ospfd/ospf_apiserver.c index a5f5971ac0..2a178a684e 100644 --- a/ospfd/ospf_apiserver.c +++ b/ospfd/ospf_apiserver.c @@ -1236,10 +1236,10 @@ static int apiserver_sync_callback(struct ospf_lsa *lsa, void *p_arg, zlog_warn( "apiserver_sync_callback: new_msg_update failed"); #ifdef NOTYET - /* Cannot allocate new message. What should we do? */ - /* ospf_apiserver_free (apiserv);*/ /* Do nothing - here XXX - */ +/* Cannot allocate new message. What should we do? */ +/* ospf_apiserver_free (apiserv);*/ /* Do nothing + here XXX + */ #endif goto out; } diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c index c775f2ea2e..f00973d64a 100644 --- a/ospfd/ospf_flood.c +++ b/ospfd/ospf_flood.c @@ -217,7 +217,7 @@ static void ospf_process_self_originated_lsa(struct ospf *ospf, break; case OSPF_OPAQUE_AS_LSA: ospf_opaque_lsa_refresh(new); - /* Reconsideration may needed. */ /* XXX */ + /* Reconsideration may needed. */ /* XXX */ break; default: break; @@ -281,7 +281,7 @@ int ospf_flood(struct ospf *ospf, struct ospf_neighbor *nbr, "LSA[Flooding]: Got a self-originated LSA, " "while local one is initial instance."); ; /* Accept this LSA for quick LSDB resynchronization. - */ + */ } else if (monotime_since(¤t->tv_recv, NULL) < ospf->min_ls_arrival * 1000LL) { if (IS_DEBUG_OSPF_EVENT) diff --git a/ospfd/ospf_ia.c b/ospfd/ospf_ia.c index c65d8b8743..38ce71293b 100644 --- a/ospfd/ospf_ia.c +++ b/ospfd/ospf_ia.c @@ -361,10 +361,8 @@ static void ospf_update_network_route(struct ospf *ospf, struct route_table *rt, } if (ospf->abr_type == OSPF_ABR_SHORTCUT) { - if ( - or->path_type == OSPF_PATH_INTRA_AREA - && !OSPF_IS_AREA_ID_BACKBONE( - or->u.std.area_id)) { + if (or->path_type == OSPF_PATH_INTRA_AREA + && !OSPF_IS_AREA_ID_BACKBONE(or->u.std.area_id)) { if (IS_DEBUG_OSPF_EVENT) zlog_debug( "ospf_update_network_route(): Shortcut: " @@ -650,7 +648,7 @@ void ospf_ia_routing(struct ospf *ospf, struct route_table *rt, OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL( area, rt, rtrs); } else { /* No active BB connection--consider all areas - */ + */ if (IS_DEBUG_OSPF_EVENT) zlog_debug( "ospf_ia_routing(): " diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index 4ea8ec26f2..b4624f400f 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -428,8 +428,9 @@ struct ospf_interface *ospf_if_lookup_recv_if(struct ospf *ospf, match = oi; else if (prefix_match(CONNECTED_PREFIX(oi->connected), (struct prefix *)&addr)) { - if ((match == NULL) || (match->address->prefixlen - < oi->address->prefixlen)) + if ((match == NULL) + || (match->address->prefixlen + < oi->address->prefixlen)) match = oi; } } diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index 68adf2e10b..38a17710cd 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -429,8 +429,8 @@ static char link_info_set(struct stream *s, struct in_addr id, * * Simpler just to subtract OSPF_MAX_LSA_SIZE though. */ - ret = stream_resize( - s, OSPF_MAX_PACKET_SIZE - OSPF_MAX_LSA_SIZE); + ret = stream_resize(s, OSPF_MAX_PACKET_SIZE + - OSPF_MAX_LSA_SIZE); } if (ret == OSPF_MAX_LSA_SIZE) { @@ -519,8 +519,9 @@ static int lsa_link_broadcast_set(struct stream *s, struct ospf_interface *oi) dr = ospf_nbr_lookup_by_addr(oi->nbrs, &DR(oi)); /* Describe Type 2 link. */ - if (dr && (dr->state == NSM_Full - || IPV4_ADDR_SAME(&oi->address->u.prefix4, &DR(oi))) + if (dr + && (dr->state == NSM_Full + || IPV4_ADDR_SAME(&oi->address->u.prefix4, &DR(oi))) && ospf_nbr_count(oi, NSM_Full) > 0) { if (IS_DEBUG_OSPF(lsa, LSA_GENERATE)) zlog_debug( @@ -3417,7 +3418,7 @@ struct in_addr ospf_lsa_unique_id(struct ospf *ospf, struct ospf_lsdb *lsdb, return id; } /* Masklen differs, then apply wildcard mask to Link State ID. - */ + */ else { masklen2ip(p->prefixlen, &mask); diff --git a/ospfd/ospf_main.c b/ospfd/ospf_main.c index f284a04cbe..d1cc00b913 100644 --- a/ospfd/ospf_main.c +++ b/ospfd/ospf_main.c @@ -55,7 +55,9 @@ /* ospfd privileges */ zebra_capabilities_t _caps_p[] = { - ZCAP_NET_RAW, ZCAP_BIND, ZCAP_NET_ADMIN, + ZCAP_NET_RAW, + ZCAP_BIND, + ZCAP_NET_ADMIN, }; struct zebra_privs_t ospfd_privs = { diff --git a/ospfd/ospf_neighbor.c b/ospfd/ospf_neighbor.c index 33492cf7c9..a1e9533dba 100644 --- a/ospfd/ospf_neighbor.c +++ b/ospfd/ospf_neighbor.c @@ -460,9 +460,8 @@ struct ospf_neighbor *ospf_nbr_get(struct ospf_interface *oi, if (oi->type == OSPF_IFTYPE_VIRTUALLINK || oi->type == OSPF_IFTYPE_POINTOPOINT) - key.u.prefix4 = - ospfh->router_id; /* index vlink and ptp nbrs by - router-id */ + key.u.prefix4 = ospfh->router_id; /* index vlink and ptp nbrs by + router-id */ else key.u.prefix4 = iph->ip_src; diff --git a/ospfd/ospf_opaque.c b/ospfd/ospf_opaque.c index a2c40923b1..97f06afd66 100644 --- a/ospfd/ospf_opaque.c +++ b/ospfd/ospf_opaque.c @@ -1358,12 +1358,11 @@ void ospf_opaque_lsa_originate_schedule(struct ospf_interface *oi, int *delay0) * list_isempty (oipt->id_list) * not being empty. */ - if ( - oipt->t_opaque_lsa_self - != NULL /* Waiting for a thread call. */ - || oipt->status == PROC_SUSPEND) /* Cannot - originate - now. */ + if (oipt->t_opaque_lsa_self + != NULL /* Waiting for a thread call. */ + || oipt->status == PROC_SUSPEND) /* Cannot + originate + now. */ continue; ospf_opaque_lsa_reoriginate_schedule( @@ -1384,12 +1383,11 @@ void ospf_opaque_lsa_originate_schedule(struct ospf_interface *oi, int *delay0) * list_isempty (oipt->id_list) * not being empty. */ - if ( - oipt->t_opaque_lsa_self - != NULL /* Waiting for a thread call. */ - || oipt->status == PROC_SUSPEND) /* Cannot - originate - now. */ + if (oipt->t_opaque_lsa_self + != NULL /* Waiting for a thread call. */ + || oipt->status == PROC_SUSPEND) /* Cannot + originate + now. */ continue; ospf_opaque_lsa_reoriginate_schedule( @@ -1410,12 +1408,11 @@ void ospf_opaque_lsa_originate_schedule(struct ospf_interface *oi, int *delay0) * list_isempty (oipt->id_list) * not being empty. */ - if ( - oipt->t_opaque_lsa_self - != NULL /* Waiting for a thread call. */ - || oipt->status == PROC_SUSPEND) /* Cannot - originate - now. */ + if (oipt->t_opaque_lsa_self + != NULL /* Waiting for a thread call. */ + || oipt->status == PROC_SUSPEND) /* Cannot + originate + now. */ continue; ospf_opaque_lsa_reoriginate_schedule((void *)top, diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index ac2406ec2d..ee6623a057 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -643,9 +643,9 @@ static int ospf_write(struct thread *thread) #ifdef WANT_OSPF_WRITE_FRAGMENT static u_int16_t ipid = 0; u_int16_t maxdatasize; -#endif /* WANT_OSPF_WRITE_FRAGMENT */ - /* $FRR indent$ */ - /* clang-format off */ +#endif /* WANT_OSPF_WRITE_FRAGMENT */ + /* $FRR indent$ */ + /* clang-format off */ #define OSPF_WRITE_IPHL_SHIFT 2 int pkt_count = 0; @@ -2436,15 +2436,15 @@ static int ospf_check_auth(struct ospf_interface *oi, struct ospf_header *ospfh) return 0; } /* only MD5 crypto method can pass ospf_packet_examin() */ - if ( - NULL == (ck = listgetdata(listtail( - OSPF_IF_PARAM(oi, auth_crypt)))) - || ospfh->u.crypt.key_id != ck->key_id || - /* Condition above uses the last key ID on the list, - which is - different from what ospf_crypt_key_lookup() does. A - bug? */ - !ospf_check_md5_digest(oi, ospfh)) { + if (NULL + == (ck = listgetdata(listtail( + OSPF_IF_PARAM(oi, auth_crypt)))) + || ospfh->u.crypt.key_id != ck->key_id || + /* Condition above uses the last key ID on the list, + which is + different from what ospf_crypt_key_lookup() does. A + bug? */ + !ospf_check_md5_digest(oi, ospfh)) { if (IS_DEBUG_OSPF_PACKET(ospfh->type - 1, RECV)) zlog_warn("interface %s: MD5 auth failed", IF_NAME(oi)); @@ -2548,7 +2548,7 @@ static unsigned ospf_lsa_examin(struct lsa_header *lsah, const u_int16_t lsalen, header, "flags", 0, "# links" */ ntohs(rlsa->links) /* 16 bits */ - ); + ); break; case OSPF_AS_EXTERNAL_LSA: /* RFC2328 A.4.5, LSA header + 4 bytes followed by N>=1 12-bytes long @@ -2772,7 +2772,7 @@ static unsigned ospf_packet_examin(struct ospf_header *oh, bytesdeclared - OSPF_HEADER_SIZE - OSPF_LS_UPD_MIN_SIZE, 0, /* full LSAs */ ntohl(lsupd->num_lsas) /* 32 bits */ - ); + ); break; case OSPF_MSG_LS_ACK: /* RFC2328 A.3.6, packet header followed by N>=0 header-only @@ -2888,8 +2888,8 @@ int ospf_read(struct thread *thread) ospfh = (struct ospf_header *)STREAM_PNT(ibuf); if (MSG_OK - != ospf_packet_examin( - ospfh, stream_get_endp(ibuf) - stream_get_getp(ibuf))) + != ospf_packet_examin(ospfh, stream_get_endp(ibuf) + - stream_get_getp(ibuf))) return -1; /* Now it is safe to access all fields of OSPF packet header. */ @@ -2935,8 +2935,9 @@ int ospf_read(struct thread *thread) * or header area is backbone but ospf_interface is not * check for VLINK interface */ - if ((oi == NULL) || (OSPF_IS_AREA_ID_BACKBONE(ospfh->area_id) - && !OSPF_IS_AREA_ID_BACKBONE(oi->area->area_id))) { + if ((oi == NULL) + || (OSPF_IS_AREA_ID_BACKBONE(ospfh->area_id) + && !OSPF_IS_AREA_ID_BACKBONE(oi->area->area_id))) { if ((oi = ospf_associate_packet_vl(ospf, ifp, iph, ospfh)) == NULL) { if (!ospf->instance && IS_DEBUG_OSPF_EVENT) diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c index 9c4dca2e2f..020dfe9d4d 100644 --- a/ospfd/ospf_route.c +++ b/ospfd/ospf_route.c @@ -229,18 +229,16 @@ static void ospf_route_delete_uniq(struct route_table *rt, or->path_type == OSPF_PATH_INTER_AREA) { if (or->type == OSPF_DESTINATION_NETWORK) { if (!ospf_route_exist_new_table( - cmprt, - (struct prefix_ipv4 *)&rn - ->p)) + cmprt, (struct prefix_ipv4 + *)&rn->p)) ospf_zebra_delete( (struct prefix_ipv4 *)&rn->p, or); } else if (or->type == OSPF_DESTINATION_DISCARD) if (!ospf_route_exist_new_table( - cmprt, - (struct prefix_ipv4 *)&rn - ->p)) + cmprt, (struct prefix_ipv4 + *)&rn->p)) ospf_zebra_delete_discard( (struct prefix_ipv4 *)&rn->p); diff --git a/ospfd/ospf_routemap.c b/ospfd/ospf_routemap.c index 547e1e8f53..80fdbf2158 100644 --- a/ospfd/ospf_routemap.c +++ b/ospfd/ospf_routemap.c @@ -332,7 +332,9 @@ static route_map_result_t route_match_tag(void *rule, struct prefix *prefix, /* Route map commands for tag matching. */ static struct route_map_rule_cmd route_match_tag_cmd = { - "tag", route_match_tag, route_map_rule_tag_compile, + "tag", + route_match_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -390,7 +392,9 @@ static void route_set_metric_free(void *rule) /* Set metric rule structure. */ struct route_map_rule_cmd route_set_metric_cmd = { - "metric", route_set_metric, route_set_metric_compile, + "metric", + route_set_metric, + route_set_metric_compile, route_set_metric_free, }; @@ -442,7 +446,9 @@ static void route_set_metric_type_free(void *rule) /* Set metric rule structure. */ struct route_map_rule_cmd route_set_metric_type_cmd = { - "metric-type", route_set_metric_type, route_set_metric_type_compile, + "metric-type", + route_set_metric_type, + route_set_metric_type_compile, route_set_metric_type_free, }; @@ -465,7 +471,9 @@ static route_map_result_t route_set_tag(void *rule, struct prefix *prefix, /* Route map commands for tag set. */ static struct route_map_rule_cmd route_set_tag_cmd = { - "tag", route_set_tag, route_map_rule_tag_compile, + "tag", + route_set_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; diff --git a/ospfd/ospf_snmp.c b/ospfd/ospf_snmp.c index 6a352380b8..a8b7027194 100644 --- a/ospfd/ospf_snmp.c +++ b/ospfd/ospf_snmp.c @@ -872,7 +872,9 @@ static u_char *ospfStubAreaEntry(struct variable *v, oid *name, size_t *length, return SNMP_INTEGER(SNMP_VALID); break; case OSPFSTUBMETRICTYPE: /* 5 */ -/* OSPF Metric type. */ + /* OSPF Metric type. */ + /* $FRR indent$ */ + /* clang-format off */ #define OSPF_ospfMetric 1 #define OSPF_comparableCost 2 #define OSPF_nonComparable 3 @@ -2100,7 +2102,8 @@ static struct ospf_neighbor *ospf_snmp_nbr_lookup(struct ospf *ospf, for (ALL_LIST_ELEMENTS(ospf->oiflist, node, nnode, oi)) { for (rn = route_top(oi->nbrs); rn; rn = route_next(rn)) - if ((nbr = rn->info) != NULL && nbr != oi->nbr_self + if ((nbr = rn->info) != NULL + && nbr != oi->nbr_self /* If EXACT match is needed, provide ALL entry found && nbr->state != NSM_Down */ diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 55d6c27e8c..b644c94ca4 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -290,8 +290,9 @@ static void ospf_passive_interface_default(struct ospf *ospf, u_char newval) ospf->passive_interface_default = newval; for (ALL_LIST_ELEMENTS_RO(om->iflist, ln, ifp)) { - if (ifp && OSPF_IF_PARAM_CONFIGURED(IF_DEF_PARAMS(ifp), - passive_interface)) + if (ifp + && OSPF_IF_PARAM_CONFIGURED(IF_DEF_PARAMS(ifp), + passive_interface)) UNSET_IF_PARAM(IF_DEF_PARAMS(ifp), passive_interface); } for (ALL_LIST_ELEMENTS_RO(ospf->oiflist, ln, oi)) { @@ -394,8 +395,9 @@ DEFUN (ospf_passive_interface, for (rn = route_top(IF_OIFS(ifp)); rn; rn = route_next(rn)) { struct ospf_interface *oi = rn->info; - if (oi && (OSPF_IF_PARAM(oi, passive_interface) - == OSPF_IF_PASSIVE)) + if (oi + && (OSPF_IF_PARAM(oi, passive_interface) + == OSPF_IF_PASSIVE)) ospf_if_set_multicast(oi); } /* @@ -2125,7 +2127,8 @@ ALIAS(ospf_compatible_rfc1583, ospf_rfc1583_flag_cmd, "Enable the RFC1583Compatibility flag\n") ALIAS(no_ospf_compatible_rfc1583, no_ospf_rfc1583_flag_cmd, - "no ospf rfc1583compatibility", NO_STR + "no ospf rfc1583compatibility", + NO_STR "OSPF specific commands\n" "Disable the RFC1583Compatibility flag\n") @@ -2579,7 +2582,8 @@ DEFUN (no_ospf_write_multiplier, } ALIAS(no_ospf_write_multiplier, no_write_multiplier_cmd, - "no write-multiplier (1-100)", NO_STR + "no write-multiplier (1-100)", + NO_STR "Write multiplier\n" "Maximum number of interface serviced per write\n") @@ -3177,8 +3181,9 @@ static int show_ip_ospf_common(struct vty *vty, struct ospf *ospf, if (use_json) { json_object_object_add(json, "areas", json_areas); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -3322,10 +3327,10 @@ static void show_ip_ospf_interface_sub(struct vty *vty, struct ospf *ospf, dstr = "Broadcast"; /* For Vlinks, showing the peer address is - * probably more - * * * * * informative than the local - * interface that is being used - * * * * */ + * probably more + * * * * * informative than + * the local interface that is being used + * * * * */ if (oi->type == OSPF_IFTYPE_VIRTUALLINK) dest = &oi->vl_data->peer_addr; else @@ -3606,8 +3611,9 @@ static int show_ip_ospf_interface_common(struct vty *vty, struct ospf *ospf, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -3817,8 +3823,9 @@ static int show_ip_ospf_neighbor_common(struct vty *vty, struct ospf *ospf, show_ip_ospf_neighbor_sub(vty, oi, json, use_json); if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -3937,8 +3944,9 @@ static int show_ip_ospf_neighbor_all_common(struct vty *vty, struct ospf *ospf, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -4030,8 +4038,9 @@ static int show_ip_ospf_neighbor_int_common(struct vty *vty, struct ospf *ospf, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -4413,8 +4422,9 @@ static int show_ip_ospf_neighbor_id_common(struct vty *vty, struct ospf *ospf, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -4502,8 +4512,9 @@ static int show_ip_ospf_neighbor_detail_common(struct vty *vty, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); @@ -4600,8 +4611,9 @@ static int show_ip_ospf_neighbor_detail_all_common(struct vty *vty, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { vty_out(vty, "\n"); @@ -4702,8 +4714,9 @@ static int show_ip_ospf_neighbor_int_detail_common(struct vty *vty, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "\n"); diff --git a/pimd/pim_assert.c b/pimd/pim_assert.c index f68c252a35..e1c961491f 100644 --- a/pimd/pim_assert.c +++ b/pimd/pim_assert.c @@ -404,9 +404,9 @@ int pim_assert_build_msg(uint8_t *pim_msg, int buf_size, struct interface *ifp, } /* Metric preference */ - pim_write_uint32(pim_msg_curr, - rpt_bit_flag ? metric_preference | 0x80000000 - : metric_preference); + pim_write_uint32(pim_msg_curr, rpt_bit_flag + ? metric_preference | 0x80000000 + : metric_preference); pim_msg_curr += 4; /* Route metric */ diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 1c9fe40c29..07678159d0 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -423,8 +423,9 @@ static void pim_show_membership(struct vty *vty, u_char uj) } /* scan interface channels */ if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); } else { vty_out(vty, "Interface Address Source Group Membership\n"); @@ -588,8 +589,9 @@ static void igmp_show_interfaces(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -784,8 +786,9 @@ static void igmp_show_interfaces_single(struct vty *vty, const char *ifname, } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (!found_ifname) @@ -1165,9 +1168,8 @@ static void pim_show_interfaces_single(struct vty *vty, const char *ifname, print_header = 1; for (ALL_LIST_ELEMENTS_RO(pim_upstream_list, upnode, up)) { - if (strcmp(ifp->name, - up->rpf.source_nexthop - .interface->name) + if (strcmp(ifp->name, up->rpf.source_nexthop + .interface->name) == 0) { if (up->flags & PIM_UPSTREAM_FLAG_MASK_FHR) { @@ -1254,8 +1256,9 @@ static void pim_show_interfaces_single(struct vty *vty, const char *ifname, } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (!found_ifname) @@ -1314,8 +1317,9 @@ static void pim_show_interfaces(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); } else { vty_out(vty, "Interface State Address PIM Nbrs PIM DR FHR IfChannels\n"); @@ -1432,8 +1436,9 @@ static void pim_show_interface_traffic(struct vty *vty, u_char uj) } } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -1518,8 +1523,9 @@ static void pim_show_interface_traffic_single(struct vty *vty, } } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { if (!found_ifname) @@ -1622,8 +1628,9 @@ static void pim_show_join(struct vty *vty, u_char uj) } /* scan interface channels */ if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -1826,8 +1833,9 @@ static void pim_show_neighbors_single(struct vty *vty, const char *neighbor, } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { { @@ -2031,8 +2039,9 @@ static void pim_show_state(struct vty *vty, const char *src_or_group, if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { vty_out(vty, "\n"); @@ -2115,8 +2124,9 @@ static void pim_show_neighbors(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -2346,8 +2356,9 @@ static void pim_show_upstream(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -2431,8 +2442,9 @@ static void pim_show_join_desired(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -2469,7 +2481,10 @@ static void pim_show_upstream_rpf(struct vty *vty, u_char uj) pim_addr_dump("<rpf?>", &rpf->rpf_addr, rpf_addr_str, sizeof(rpf_addr_str)); - rpf_ifname = rpf->source_nexthop.interface ? rpf->source_nexthop.interface->name : "<ifname?>"; + rpf_ifname = + rpf->source_nexthop.interface ? rpf->source_nexthop + .interface->name + : "<ifname?>"; if (uj) { json_object_object_get_ex(json, grp_str, &json_group); @@ -2499,8 +2514,9 @@ static void pim_show_upstream_rpf(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -2604,7 +2620,10 @@ static void pim_show_rpf(struct vty *vty, u_char uj) &rpf->source_nexthop.mrib_nexthop_addr, rib_nexthop_str, sizeof(rib_nexthop_str)); - rpf_ifname = rpf->source_nexthop.interface ? rpf->source_nexthop.interface->name : "<ifname?>"; + rpf_ifname = + rpf->source_nexthop.interface ? rpf->source_nexthop + .interface->name + : "<ifname?>"; if (uj) { json_object_object_get_ex(json, grp_str, &json_group); @@ -2642,8 +2661,9 @@ static void pim_show_rpf(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -2802,8 +2822,9 @@ static void igmp_show_groups(struct vty *vty, u_char uj) } /* scan interfaces */ if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -4039,8 +4060,9 @@ static void show_mroute(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -4633,8 +4655,9 @@ static void ip_pim_ssm_show_group_range(struct vty *vty, u_char uj) json_object *json; json = json_object_new_object(); json_object_string_add(json, "ssmGroups", range_str); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "SSM group range : %s\n", range_str); @@ -4676,8 +4699,9 @@ static void ip_pim_ssm_show_group_type(struct vty *vty, u_char uj, json_object *json; json = json_object_new_object(); json_object_string_add(json, "groupType", type_str); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else vty_out(vty, "Group type : %s\n", type_str); @@ -6429,7 +6453,8 @@ DEFUN (ip_pim_bfd_param, } ALIAS(no_ip_pim_bfd, no_ip_pim_bfd_param_cmd, - "no ip pim bfd (2-255) (50-60000) (50-60000)", NO_STR IP_STR PIM_STR + "no ip pim bfd (2-255) (50-60000) (50-60000)", + NO_STR IP_STR PIM_STR "Enables BFD support\n" "Detect Multiplier\n" "Required min receive interval\n" @@ -6790,8 +6815,9 @@ static void ip_msdp_show_mesh_group(struct vty *vty, u_char uj) if (uj) { json_object_object_add(json, mg->mesh_group_name, json_mg_row); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -6858,8 +6884,9 @@ static void ip_msdp_show_peers(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -6963,8 +6990,9 @@ static void ip_msdp_show_peers_detail(struct vty *vty, const char *peer, } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -7061,8 +7089,9 @@ static void ip_msdp_show_sa(struct vty *vty, u_char uj) if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -7153,8 +7182,9 @@ static void ip_msdp_show_sa_detail(struct vty *vty, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -7197,8 +7227,9 @@ static void ip_msdp_show_sa_addr(struct vty *vty, const char *addr, u_char uj) } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } @@ -7226,8 +7257,9 @@ static void ip_msdp_show_sa_sg(struct vty *vty, const char *src, } if (uj) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } diff --git a/pimd/pim_iface.h b/pimd/pim_iface.h index e742e68f67..5165f78906 100644 --- a/pimd/pim_iface.h +++ b/pimd/pim_iface.h @@ -78,10 +78,9 @@ struct pim_interface { struct in_addr update_source; /* user can statically set the primary * address of the interface */ - int igmp_version; /* IGMP version */ - int igmp_default_robustness_variable; /* IGMPv3 QRV */ - int - igmp_default_query_interval; /* IGMPv3 secs between general + int igmp_version; /* IGMP version */ + int igmp_default_robustness_variable; /* IGMPv3 QRV */ + int igmp_default_query_interval; /* IGMPv3 secs between general queries */ int igmp_query_max_response_time_dsec; /* IGMPv3 Max Response Time in dsecs for general queries */ diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index d4916518e7..cd9da1f536 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -814,8 +814,9 @@ void pim_ifchannel_join_add(struct interface *ifp, struct in_addr neigh_addr, /* * If we are going to be a LHR, we need to note it */ - if (ch->upstream->parent && (ch->upstream->parent->flags - & PIM_UPSTREAM_FLAG_MASK_SRC_IGMP) + if (ch->upstream->parent + && (ch->upstream->parent->flags + & PIM_UPSTREAM_FLAG_MASK_SRC_IGMP) && !(ch->upstream->flags & PIM_UPSTREAM_FLAG_MASK_SRC_LHR)) { pim_upstream_ref(ch->upstream, diff --git a/pimd/pim_main.c b/pimd/pim_main.c index b8e6d8ad3d..ecaafaa587 100644 --- a/pimd/pim_main.c +++ b/pimd/pim_main.c @@ -53,7 +53,10 @@ struct option longopts[] = {{0}}; /* pimd privileges */ zebra_capabilities_t _caps_p[] = { - ZCAP_NET_ADMIN, ZCAP_SYS_ADMIN, ZCAP_NET_RAW, ZCAP_BIND, + ZCAP_NET_ADMIN, + ZCAP_SYS_ADMIN, + ZCAP_NET_RAW, + ZCAP_BIND, }; /* pimd privileges to run with */ diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c index 0f653e70a4..648bc1d5b5 100644 --- a/pimd/pim_msdp.c +++ b/pimd/pim_msdp.c @@ -793,10 +793,10 @@ static void pim_msdp_peer_listen(struct pim_msdp_peer *mp) } /* this is interntionally asymmetric i.e. we set up listen-socket when - * the - * first listening peer is configured; but don't bother tearing it down - * when - * all the peers go down */ + * the + * first listening peer is configured; but don't bother tearing it down + * when + * all the peers go down */ pim_msdp_sock_listen(); } diff --git a/pimd/pim_msdp.h b/pimd/pim_msdp.h index 66e5457df4..9719941362 100644 --- a/pimd/pim_msdp.h +++ b/pimd/pim_msdp.h @@ -69,7 +69,7 @@ enum pim_msdp_sa_flags { PIM_MSDP_SAF_PEER = (1 << 1), PIM_MSDP_SAF_REF = (PIM_MSDP_SAF_LOCAL | PIM_MSDP_SAF_PEER), PIM_MSDP_SAF_STALE = (1 << 2), /* local entries can get kicked out on - * misc pim events such as RP change */ + * misc pim events such as RP change */ PIM_MSDP_SAF_UP_DEL_IN_PROG = (1 << 3) }; @@ -116,13 +116,13 @@ struct pim_msdp_peer { #define PIM_MSDP_PEER_HOLD_TIME 75 struct thread *hold_timer; // 5.4 /* $FRR indent$ */ -/* clang-format off */ + /* clang-format off */ #define PIM_MSDP_PEER_KA_TIME 60 - struct thread *ka_timer; // 5.5 - /* $FRR indent$ */ - /* clang-format off */ + struct thread *ka_timer; // 5.5 + /* $FRR indent$ */ + /* clang-format off */ #define PIM_MSDP_PEER_CONNECT_RETRY_TIME 30 - struct thread *cr_timer; // 5.6 + struct thread *cr_timer; // 5.6 /* packet thread and buffers */ uint32_t packet_size; diff --git a/pimd/pim_register.c b/pimd/pim_register.c index 1cbe1dcf7f..2210a91f98 100644 --- a/pimd/pim_register.c +++ b/pimd/pim_register.c @@ -330,8 +330,9 @@ int pim_register_recv(struct interface *ifp, struct in_addr dest_addr, pim_str_sg_dump(&sg), src_str, ifp->name, i_am_rp); } - if (i_am_rp && (dest_addr.s_addr - == ((RP(sg.grp))->rpf_addr.u.prefix4.s_addr))) { + if (i_am_rp + && (dest_addr.s_addr + == ((RP(sg.grp))->rpf_addr.u.prefix4.s_addr))) { sentRegisterStop = 0; if (*bits & PIM_REGISTER_BORDER_BIT) { diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c index 2fe0143a87..4c5722e353 100644 --- a/pimd/pim_rp.c +++ b/pimd/pim_rp.c @@ -948,8 +948,9 @@ void pim_rp_show_information(struct vty *vty, u_char uj) inet_ntoa(prev_rp_info->rp.rpf_addr.u.prefix4), json_rp_rows); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } } diff --git a/pimd/pim_zlookup.c b/pimd/pim_zlookup.c index 027b18e123..5258377cca 100644 --- a/pimd/pim_zlookup.c +++ b/pimd/pim_zlookup.c @@ -435,9 +435,8 @@ int zclient_lookup_nexthop(struct pim_zlookup_nexthop nexthop_tab[], nexthop_tab[0].route_metric); } - addr = - nexthop_addr.u.prefix4; /* use nexthop addr for - recursive lookup */ + addr = nexthop_addr.u.prefix4; /* use nexthop addr for + recursive lookup */ } /* for (max_lookup) */ diff --git a/qpb/qpb_allocator.h b/qpb/qpb_allocator.h index c9022af713..fd55592f88 100644 --- a/qpb/qpb_allocator.h +++ b/qpb/qpb_allocator.h @@ -74,7 +74,6 @@ static inline void qpb_free(qpb_allocator_t *allocator, void *ptr) */ #define QPB_ALLOC(allocator, type) (type *)qpb_alloc(allocator, sizeof(type)) - /* * Externs. */ diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c index a170471123..3dc54a6617 100644 --- a/ripd/rip_interface.c +++ b/ripd/rip_interface.c @@ -1855,7 +1855,9 @@ int config_write_rip_network(struct vty *vty, int config_mode) } static struct cmd_node interface_node = { - INTERFACE_NODE, "%s(config-if)# ", 1, + INTERFACE_NODE, + "%s(config-if)# ", + 1, }; /* Called when interface structure allocated. */ diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c index 7255df5e67..546efb2dad 100644 --- a/ripd/rip_routemap.c +++ b/ripd/rip_routemap.c @@ -347,7 +347,9 @@ static route_map_result_t route_match_tag(void *rule, struct prefix *prefix, /* Route map commands for tag matching. */ static struct route_map_rule_cmd route_match_tag_cmd = { - "tag", route_match_tag, route_map_rule_tag_compile, + "tag", + route_match_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -436,7 +438,9 @@ static void route_set_metric_free(void *rule) /* Set metric rule structure. */ static struct route_map_rule_cmd route_set_metric_cmd = { - "metric", route_set_metric, route_set_metric_compile, + "metric", + route_set_metric, + route_set_metric_compile, route_set_metric_free, }; diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c index 961a846db2..79d4324ea1 100644 --- a/ripd/rip_zebra.c +++ b/ripd/rip_zebra.c @@ -661,7 +661,8 @@ int config_write_rip_redistribute(struct vty *vty, int config_mode) /* Zebra node structure. */ static struct cmd_node zebra_node = { - ZEBRA_NODE, "%s(config-router)# ", + ZEBRA_NODE, + "%s(config-router)# ", }; static void rip_zebra_connected(struct zclient *zclient) diff --git a/ripd/ripd.c b/ripd/ripd.c index d9b38bba89..eb6c8f743a 100644 --- a/ripd/ripd.c +++ b/ripd/ripd.c @@ -454,9 +454,8 @@ static void rip_rte_process(struct rte *rte, struct sockaddr_in *from, /* Get back the object */ rte->nexthop = newinfo.nexthop_out; rte->tag = htons(newinfo.tag_out); /* XXX */ - rte->metric = - newinfo.metric_out; /* XXX: the routemap uses the - metric_out field */ + rte->metric = newinfo.metric_out; /* XXX: the routemap uses the + metric_out field */ } /* Once the entry has been validated, update the metric by diff --git a/ripngd/ripng_routemap.c b/ripngd/ripng_routemap.c index 3080801fb3..0696d61ac0 100644 --- a/ripngd/ripng_routemap.c +++ b/ripngd/ripng_routemap.c @@ -150,7 +150,9 @@ static route_map_result_t route_match_tag(void *rule, struct prefix *prefix, } static struct route_map_rule_cmd route_match_tag_cmd = { - "tag", route_match_tag, route_map_rule_tag_compile, + "tag", + route_match_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -240,7 +242,9 @@ static void route_set_metric_free(void *rule) } static struct route_map_rule_cmd route_set_metric_cmd = { - "metric", route_set_metric, route_set_metric_compile, + "metric", + route_set_metric, + route_set_metric_compile, route_set_metric_free, }; diff --git a/ripngd/ripng_zebra.c b/ripngd/ripng_zebra.c index 386bee43b8..709a285ab5 100644 --- a/ripngd/ripng_zebra.c +++ b/ripngd/ripng_zebra.c @@ -507,7 +507,8 @@ static int zebra_config_write(struct vty *vty) /* Zebra node structure. */ static struct cmd_node zebra_node = { - ZEBRA_NODE, "%s(config-router)# ", + ZEBRA_NODE, + "%s(config-router)# ", }; static void ripng_zebra_connected(struct zclient *zclient) diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c index 2883698f47..874c42e7e8 100644 --- a/ripngd/ripngd.c +++ b/ripngd/ripngd.c @@ -742,9 +742,8 @@ static void ripng_route_process(struct rte *rte, struct sockaddr_in6 *from, } } rte->tag = htons(newinfo.tag_out); /* XXX */ - rte->metric = - newinfo.metric_out; /* XXX: the routemap uses the - metric_out field */ + rte->metric = newinfo.metric_out; /* XXX: the routemap uses the + metric_out field */ } /* Once the entry has been validated, update the metric by @@ -2718,7 +2717,9 @@ static int ripng_config_write(struct vty *vty) /* RIPng node structure. */ static struct cmd_node cmd_ripng_node = { - RIPNG_NODE, "%s(config-router)# ", 1, + RIPNG_NODE, + "%s(config-router)# ", + 1, }; static void ripng_distribute_update(struct distribute *dist) diff --git a/tests/bgpd/test_aspath.c b/tests/bgpd/test_aspath.c index 46462d79c4..706825681b 100644 --- a/tests/bgpd/test_aspath.c +++ b/tests/bgpd/test_aspath.c @@ -50,8 +50,10 @@ struct test_spec { deleted */ const unsigned int hops; /* aspath_count_hops result */ const unsigned int confeds; /* aspath_count_confeds */ - const int private_as; /* whether the private_as check should pass or - fail */ + const int private_as; /* whether the private_as check should pass or + fail */ + /* $FRR indent$ */ + /* clang-format off */ #define NOT_ALL_PRIVATE 0 #define ALL_PRIVATE 1 const as_t does_loop; /* an ASN which should trigger loop-check */ @@ -85,7 +87,14 @@ static struct test_segment { {0x2, 0x1, 0x22, 0x12, 0x2, 0x1, 0x00, 0x04}, 8, { - "8722 4", "8722 4", 2, 0, NOT_ALL_PRIVATE, 4, 5, 8722, + "8722 4", + "8722 4", + 2, + 0, + NOT_ALL_PRIVATE, + 4, + 5, + 8722, }, }, { @@ -398,8 +407,22 @@ static struct test_segment { "reconcile_start_trans", "seq(23456,23456,23456) seq(6435,59408,21665)", { - 0x2, 0x3, 0x5b, 0xa0, 0x5b, 0xa0, 0x5b, 0xa0, 0x2, 0x3, - 0x19, 0x23, 0xe8, 0x10, 0x54, 0xa1, + 0x2, + 0x3, + 0x5b, + 0xa0, + 0x5b, + 0xa0, + 0x5b, + 0xa0, + 0x2, + 0x3, + 0x19, + 0x23, + 0xe8, + 0x10, + 0x54, + 0xa1, }, 16, {"23456 23456 23456 6435 59408 21665", @@ -411,8 +434,22 @@ static struct test_segment { "reconcile_start_trans4", "seq(1842,41591,51793) seq(6435,59408,21665)", { - 0x2, 0x3, 0x07, 0x32, 0xa2, 0x77, 0xca, 0x51, 0x2, 0x3, - 0x19, 0x23, 0xe8, 0x10, 0x54, 0xa1, + 0x2, + 0x3, + 0x07, + 0x32, + 0xa2, + 0x77, + 0xca, + 0x51, + 0x2, + 0x3, + 0x19, + 0x23, + 0xe8, + 0x10, + 0x54, + 0xa1, }, 16, {"1842 41591 51793 6435 59408 21665", @@ -424,8 +461,20 @@ static struct test_segment { "reconcile_start_trans_error", "seq(23456,23456,23456) seq(6435,59408)", { - 0x2, 0x3, 0x5b, 0xa0, 0x5b, 0xa0, 0x5b, 0xa0, 0x2, 0x2, - 0x19, 0x23, 0xe8, 0x10, + 0x2, + 0x3, + 0x5b, + 0xa0, + 0x5b, + 0xa0, + 0x5b, + 0xa0, + 0x2, + 0x2, + 0x19, + 0x23, + 0xe8, + 0x10, }, 14, {"23456 23456 23456 6435 59408", "23456 23456 23456 6435 59408", @@ -503,7 +552,10 @@ static struct aspath_tests { 0, 0, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 10, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 10, }, COMMON_ATTR_SIZE + 3, }, @@ -516,7 +568,10 @@ static struct aspath_tests { -1, 0, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 8, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 8, }, COMMON_ATTR_SIZE + 3, }, @@ -529,7 +584,10 @@ static struct aspath_tests { -1, 0, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 12, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 12, }, COMMON_ATTR_SIZE + 3, }, @@ -544,7 +602,8 @@ static struct aspath_tests { { COMMON_ATTRS, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - BGP_ATTR_AS_PATH, 10, + BGP_ATTR_AS_PATH, + 10, }, COMMON_ATTR_SIZE + 3, }, @@ -559,7 +618,8 @@ static struct aspath_tests { { COMMON_ATTRS, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - BGP_ATTR_AS4_PATH, 10, + BGP_ATTR_AS4_PATH, + 10, }, COMMON_ATTR_SIZE + 3, }, @@ -574,7 +634,8 @@ static struct aspath_tests { { COMMON_ATTRS, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - BGP_ATTR_AS4_PATH, 10, + BGP_ATTR_AS4_PATH, + 10, }, COMMON_ATTR_SIZE + 3, }, @@ -587,7 +648,10 @@ static struct aspath_tests { 0, PEER_CAP_AS4_RCV | PEER_CAP_AS4_ADV, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 18, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 18, }, COMMON_ATTR_SIZE + 3, }, @@ -600,7 +664,10 @@ static struct aspath_tests { -1, PEER_CAP_AS4_RCV | PEER_CAP_AS4_ADV, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 16, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 16, }, COMMON_ATTR_SIZE + 3, }, @@ -613,7 +680,10 @@ static struct aspath_tests { -1, PEER_CAP_AS4_RCV | PEER_CAP_AS4_ADV, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 20, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 20, }, COMMON_ATTR_SIZE + 3, }, @@ -626,7 +696,10 @@ static struct aspath_tests { -1, PEER_CAP_AS4_RCV | PEER_CAP_AS4_ADV, { - COMMON_ATTRS, BGP_ATTR_FLAG_TRANS, BGP_ATTR_AS_PATH, 22, + COMMON_ATTRS, + BGP_ATTR_FLAG_TRANS, + BGP_ATTR_AS_PATH, + 22, }, COMMON_ATTR_SIZE + 3, }, @@ -641,7 +714,8 @@ static struct aspath_tests { { COMMON_ATTRS, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - BGP_ATTR_AS_PATH, 18, + BGP_ATTR_AS_PATH, + 18, }, COMMON_ATTR_SIZE + 3, }, @@ -656,7 +730,8 @@ static struct aspath_tests { { COMMON_ATTRS, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - BGP_ATTR_AS4_PATH, 14, + BGP_ATTR_AS4_PATH, + 14, }, COMMON_ATTR_SIZE + 3, }, @@ -671,7 +746,8 @@ static struct aspath_tests { { COMMON_ATTRS, BGP_ATTR_FLAG_TRANS | BGP_ATTR_FLAG_OPTIONAL, - BGP_ATTR_AS4_PATH, 14, + BGP_ATTR_AS4_PATH, + 14, }, COMMON_ATTR_SIZE + 3, &test_segments[0], @@ -804,7 +880,13 @@ static struct tests { {NULL, NULL, { - NULL, 0, 0, 0, 0, 0, 0, + NULL, + 0, + 0, + 0, + 0, + 0, + 0, }}, }; @@ -852,7 +934,13 @@ struct tests reconcile_tests[] = { {NULL, NULL, { - NULL, 0, 0, 0, 0, 0, 0, + NULL, + 0, + 0, + 0, + 0, + 0, + 0, }}, }; diff --git a/tests/bgpd/test_capability.c b/tests/bgpd/test_capability.c index 9ec2b5df19..2b515b0f78 100644 --- a/tests/bgpd/test_capability.c +++ b/tests/bgpd/test_capability.c @@ -216,439 +216,387 @@ static struct test_segment mp_segments[] = { }, {NULL, NULL, {0}, 0, 0}}; -static struct test_segment misc_segments[] = +static struct test_segment misc_segments[] = { + /* 13 */ { - /* 13 */ - { - "ORF", - "ORF, simple, single entry, single tuple", - {/* hdr */ CAPABILITY_CODE_ORF, 0x7, - /* mpc */ 0x0, 0x1, 0x0, 0x1, - /* num */ 0x1, - /* tuples */ 0x40, 0x3}, - 9, - SHOULD_PARSE, - }, - /* 14 */ - { - "ORF-many", - "ORF, multi entry/tuple", - { - /* hdr */ CAPABILITY_CODE_ORF, - 0x21, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - ORF_MODE_BOTH, - 0x80, - ORF_MODE_RECEIVE, - 0x80, - ORF_MODE_SEND, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - ORF_MODE_BOTH, - 0x80, - ORF_MODE_RECEIVE, - 0x80, - ORF_MODE_SEND, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x2, - /* num */ 0x3, - /* tuples */ 0x40, - ORF_MODE_RECEIVE, - 0x80, - ORF_MODE_SEND, - 0x80, - ORF_MODE_BOTH, - }, - 35, - SHOULD_PARSE, - }, - /* 15 */ - { - "ORFlo", - "ORF, multi entry/tuple, hdr length too short", - { - /* hdr */ CAPABILITY_CODE_ORF, - 0x15, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x2, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - }, - 35, - SHOULD_ERR, /* It should error on invalid - Route-Refresh.. */ - }, - /* 16 */ - {"ORFlu", - "ORF, multi entry/tuple, length too long", - { - /* hdr */ 0x3, - 0x22, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x2, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - }, - 35, - SHOULD_ERR}, - /* 17 */ - { - "ORFnu", - "ORF, multi entry/tuple, entry number too long", - { - /* hdr */ 0x3, - 0x21, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x1, - /* num */ 0x4, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x2, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - }, - 35, - SHOULD_PARSE, /* parses, but last few tuples should be - gibberish */ - }, - /* 18 */ - { - "ORFno", - "ORF, multi entry/tuple, entry number too short", - { - /* hdr */ 0x3, - 0x21, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x1, - /* num */ 0x1, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x2, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - }, - 35, - SHOULD_PARSE, /* Parses, but should get gibberish - afi/safis */ - }, - /* 17 */ + "ORF", + "ORF, simple, single entry, single tuple", + {/* hdr */ CAPABILITY_CODE_ORF, 0x7, + /* mpc */ 0x0, 0x1, 0x0, 0x1, + /* num */ 0x1, + /* tuples */ 0x40, 0x3}, + 9, + SHOULD_PARSE, + }, + /* 14 */ + { + "ORF-many", + "ORF, multi entry/tuple", { - "ORFpad", - "ORF, multi entry/tuple, padded to align", - { - /* hdr */ 0x3, - 0x22, - /* mpc */ 0x0, - 0x1, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x1, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - /* mpc */ 0x0, - 0x2, - 0x0, - 0x2, - /* num */ 0x3, - /* tuples */ 0x40, - 0x3, - 0x80, - 0x1, - 0x80, - 0x2, - 0x00, - }, - 36, - SHOULD_PARSE, + /* hdr */ CAPABILITY_CODE_ORF, + 0x21, + /* mpc */ 0x0, + 0x1, + 0x0, + 0x1, + /* num */ 0x3, + /* tuples */ 0x40, + ORF_MODE_BOTH, + 0x80, + ORF_MODE_RECEIVE, + 0x80, + ORF_MODE_SEND, + /* mpc */ 0x0, + 0x2, + 0x0, + 0x1, + /* num */ 0x3, + /* tuples */ 0x40, + ORF_MODE_BOTH, + 0x80, + ORF_MODE_RECEIVE, + 0x80, + ORF_MODE_SEND, + /* mpc */ 0x0, + 0x2, + 0x0, + 0x2, + /* num */ 0x3, + /* tuples */ 0x40, + ORF_MODE_RECEIVE, + 0x80, + ORF_MODE_SEND, + 0x80, + ORF_MODE_BOTH, }, - /* 19 */ + 35, + SHOULD_PARSE, + }, + /* 15 */ + { + "ORFlo", + "ORF, multi entry/tuple, hdr length too short", { - "AS4", - "AS4 capability", - {0x41, 0x4, 0xab, 0xcd, 0xef, - 0x12}, /* AS: 2882400018 */ - 6, - SHOULD_PARSE, - 2882400018, + /* hdr */ CAPABILITY_CODE_ORF, + 0x15, + /* mpc */ 0x0, + 0x1, + 0x0, + 0x1, + /* num */ 0x3, + /* tuples */ 0x40, + 0x3, + 0x80, + 0x1, + 0x80, + 0x2, + /* mpc */ 0x0, + 0x1, + 0x0, + 0x1, + /* num */ 0x3, + /* tuples */ 0x40, + 0x3, + 0x80, + 0x1, + 0x80, + 0x2, + /* mpc */ 0x0, + 0x2, + 0x0, + 0x2, + /* num */ 0x3, + /* tuples */ 0x40, + 0x3, + 0x80, + 0x1, + 0x80, + 0x2, }, + 35, + SHOULD_ERR, /* It should error on invalid + Route-Refresh.. */ + }, + /* 16 */ + {"ORFlu", + "ORF, multi entry/tuple, length too long", + { + /* hdr */ 0x3, 0x22, + /* mpc */ 0x0, 0x1, 0x0, 0x1, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + /* mpc */ 0x0, 0x2, 0x0, 0x1, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + /* mpc */ 0x0, 0x2, 0x0, 0x2, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + }, + 35, + SHOULD_ERR}, + /* 17 */ + { + "ORFnu", + "ORF, multi entry/tuple, entry number too long", { - "AS4", - "AS4 capability: short", - {0x41, 0x4, 0xab, 0xcd, 0xef}, /* AS: 2882400018 */ - 5, - SHOULD_ERR, + /* hdr */ 0x3, 0x21, + /* mpc */ 0x0, 0x1, 0x0, 0x1, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + /* mpc */ 0x0, 0x2, 0x0, 0x1, + /* num */ 0x4, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + /* mpc */ 0x0, 0x2, 0x0, 0x2, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, }, + 35, + SHOULD_PARSE, /* parses, but last few tuples should be + gibberish */ + }, + /* 18 */ + { + "ORFno", + "ORF, multi entry/tuple, entry number too short", { - "AS4", - "AS4 capability: long", - {0x41, 0x4, 0xab, 0xcd, 0xef, 0x12, 0x12}, - 7, - SHOULD_ERR, - 2882400018, + /* hdr */ 0x3, 0x21, + /* mpc */ 0x0, 0x1, 0x0, 0x1, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + /* mpc */ 0x0, 0x2, 0x0, 0x1, + /* num */ 0x1, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, + /* mpc */ 0x0, 0x2, 0x0, 0x2, + /* num */ 0x3, + /* tuples */ 0x40, 0x3, 0x80, 0x1, 0x80, 0x2, }, + 35, + SHOULD_PARSE, /* Parses, but should get gibberish + afi/safis */ + }, + /* 17 */ + { + "ORFpad", + "ORF, multi entry/tuple, padded to align", { - "GR", - "GR capability", - { - /* hdr */ CAPABILITY_CODE_RESTART, 0xe, - /* R-bit, time */ 0xf1, 0x12, - /* afi */ 0x0, 0x1, - /* safi */ 0x1, - /* flags */ 0xf, - /* afi */ 0x0, 0x2, - /* safi */ 0x1, - /* flags */ 0x0, - /* afi */ 0x0, 0x2, - /* safi */ 0x2, - /* flags */ 0x1, - }, - 16, - SHOULD_PARSE, + /* hdr */ 0x3, + 0x22, + /* mpc */ 0x0, + 0x1, + 0x0, + 0x1, + /* num */ 0x3, + /* tuples */ 0x40, + 0x3, + 0x80, + 0x1, + 0x80, + 0x2, + /* mpc */ 0x0, + 0x2, + 0x0, + 0x1, + /* num */ 0x3, + /* tuples */ 0x40, + 0x3, + 0x80, + 0x1, + 0x80, + 0x2, + /* mpc */ 0x0, + 0x2, + 0x0, + 0x2, + /* num */ 0x3, + /* tuples */ 0x40, + 0x3, + 0x80, + 0x1, + 0x80, + 0x2, + 0x00, }, + 36, + SHOULD_PARSE, + }, + /* 19 */ + { + "AS4", + "AS4 capability", + {0x41, 0x4, 0xab, 0xcd, 0xef, 0x12}, /* AS: 2882400018 */ + 6, + SHOULD_PARSE, + 2882400018, + }, + { + "AS4", + "AS4 capability: short", + {0x41, 0x4, 0xab, 0xcd, 0xef}, /* AS: 2882400018 */ + 5, + SHOULD_ERR, + }, + { + "AS4", + "AS4 capability: long", + {0x41, 0x4, 0xab, 0xcd, 0xef, 0x12, 0x12}, + 7, + SHOULD_ERR, + 2882400018, + }, + { + "GR", + "GR capability", { - "GR-short", - "GR capability, but header length too short", - { - /* hdr */ 0x40, 0xa, - /* R-bit, time */ 0xf1, 0x12, - /* afi */ 0x0, 0x1, - /* safi */ 0x1, - /* flags */ 0xf, - /* afi */ 0x0, 0x2, - /* safi */ 0x1, - /* flags */ 0x0, - /* afi */ 0x0, 0x2, - /* safi */ 0x2, - /* flags */ 0x1, - }, - 15 /* array is 16 though */, - SHOULD_ERR, + /* hdr */ CAPABILITY_CODE_RESTART, + 0xe, + /* R-bit, time */ 0xf1, + 0x12, + /* afi */ 0x0, + 0x1, + /* safi */ 0x1, + /* flags */ 0xf, + /* afi */ 0x0, + 0x2, + /* safi */ 0x1, + /* flags */ 0x0, + /* afi */ 0x0, + 0x2, + /* safi */ 0x2, + /* flags */ 0x1, }, + 16, + SHOULD_PARSE, + }, + { + "GR-short", + "GR capability, but header length too short", { - "GR-long", - "GR capability, but header length too long", - { - /* hdr */ 0x40, 0xf, - /* R-bit, time */ 0xf1, 0x12, - /* afi */ 0x0, 0x1, - /* safi */ 0x1, - /* flags */ 0xf, - /* afi */ 0x0, 0x2, - /* safi */ 0x1, - /* flags */ 0x0, - /* afi */ 0x0, 0x2, - /* safi */ 0x2, - /* flags */ 0x01, - }, - 16, - SHOULD_ERR, + /* hdr */ 0x40, + 0xa, + /* R-bit, time */ 0xf1, + 0x12, + /* afi */ 0x0, + 0x1, + /* safi */ 0x1, + /* flags */ 0xf, + /* afi */ 0x0, + 0x2, + /* safi */ 0x1, + /* flags */ 0x0, + /* afi */ 0x0, + 0x2, + /* safi */ 0x2, + /* flags */ 0x1, }, + 15 /* array is 16 though */, + SHOULD_ERR, + }, + { + "GR-long", + "GR capability, but header length too long", { - "GR-trunc", - "GR capability, but truncated", - { - /* hdr */ 0x40, 0xf, - /* R-bit, time */ 0xf1, 0x12, - /* afi */ 0x0, 0x1, - /* safi */ 0x1, - /* flags */ 0xf, - /* afi */ 0x0, 0x2, - /* safi */ 0x1, - /* flags */ 0x0, - /* afi */ 0x0, 0x2, - /* safi */ 0x2, - /* flags */ 0x1, - }, - 15, - SHOULD_ERR, + /* hdr */ 0x40, + 0xf, + /* R-bit, time */ 0xf1, + 0x12, + /* afi */ 0x0, + 0x1, + /* safi */ 0x1, + /* flags */ 0xf, + /* afi */ 0x0, + 0x2, + /* safi */ 0x1, + /* flags */ 0x0, + /* afi */ 0x0, + 0x2, + /* safi */ 0x2, + /* flags */ 0x01, }, + 16, + SHOULD_ERR, + }, + { + "GR-trunc", + "GR capability, but truncated", { - "GR-empty", - "GR capability, but empty.", - { - /* hdr */ 0x40, 0x0, - }, - 2, - SHOULD_ERR, + /* hdr */ 0x40, + 0xf, + /* R-bit, time */ 0xf1, + 0x12, + /* afi */ 0x0, + 0x1, + /* safi */ 0x1, + /* flags */ 0xf, + /* afi */ 0x0, + 0x2, + /* safi */ 0x1, + /* flags */ 0x0, + /* afi */ 0x0, + 0x2, + /* safi */ 0x2, + /* flags */ 0x1, }, + 15, + SHOULD_ERR, + }, + { + "GR-empty", + "GR capability, but empty.", { - "MP-empty", - "MP capability, but empty.", - { - /* hdr */ 0x1, 0x0, - }, - 2, - SHOULD_ERR, + /* hdr */ 0x40, + 0x0, }, + 2, + SHOULD_ERR, + }, + { + "MP-empty", + "MP capability, but empty.", { - "ORF-empty", - "ORF capability, but empty.", - { - /* hdr */ 0x3, 0x0, - }, - 2, - SHOULD_ERR, + /* hdr */ 0x1, + 0x0, }, + 2, + SHOULD_ERR, + }, + { + "ORF-empty", + "ORF capability, but empty.", { - "AS4-empty", - "AS4 capability, but empty.", - { - /* hdr */ 0x41, 0x0, - }, - 2, - SHOULD_ERR, + /* hdr */ 0x3, + 0x0, }, + 2, + SHOULD_ERR, + }, + { + "AS4-empty", + "AS4 capability, but empty.", { - "dyn-empty", - "Dynamic capability, but empty.", - { - /* hdr */ 0x42, 0x0, - }, - 2, - SHOULD_PARSE, + /* hdr */ 0x41, + 0x0, }, + 2, + SHOULD_ERR, + }, + { + "dyn-empty", + "Dynamic capability, but empty.", { - "dyn-old", - "Dynamic capability (deprecated version)", - {CAPABILITY_CODE_DYNAMIC, 0x0}, - 2, - SHOULD_PARSE, + /* hdr */ 0x42, + 0x0, }, - {NULL, NULL, {0}, 0, 0}}; + 2, + SHOULD_PARSE, + }, + { + "dyn-old", + "Dynamic capability (deprecated version)", + {CAPABILITY_CODE_DYNAMIC, 0x0}, + 2, + SHOULD_PARSE, + }, + {NULL, NULL, {0}, 0, 0}}; /* DYNAMIC message */ struct test_segment dynamic_cap_msgs[] = { @@ -871,9 +819,9 @@ static void parse_test(struct peer *peer, struct test_segment *t, int type) failed++; if (tty) - printf("%s", - (failed > oldfailed) ? VT100_RED "failed!" VT100_RESET - : VT100_GREEN "OK" VT100_RESET); + printf("%s", (failed > oldfailed) + ? VT100_RED "failed!" VT100_RESET + : VT100_GREEN "OK" VT100_RESET); else printf("%s", (failed > oldfailed) ? "failed!" : "OK"); diff --git a/tests/bgpd/test_mp_attr.c b/tests/bgpd/test_mp_attr.c index 7c0afa1b92..2dbde0dbdd 100644 --- a/tests/bgpd/test_mp_attr.c +++ b/tests/bgpd/test_mp_attr.c @@ -610,15 +610,15 @@ static struct test_segment { /* Nexthop */ 192, 168, 0, 1, /* SNPA (defunct, MBZ) */ 0x0, /* NLRI tuples */ 88 + 16, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_AS */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 17, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_AS */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 17, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ }, (4 + 12 + 1 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3)), SHOULD_PARSE, @@ -700,15 +700,15 @@ static struct test_segment { /* Nexthop */ 192, 168, 0, 1, /* SNPA (defunct, MBZ) */ 0x0, /* NLRI tuples */ 88 + 32, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_AS */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 17, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_AS */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 17, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ }, (4 + 12 + 1 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3)), SHOULD_ERR, @@ -727,16 +727,16 @@ static struct test_segment { /* Nexthop */ 192, 168, 0, 1, /* SNPA (defunct, MBZ) */ 0x0, /* NLRI tuples */ 88 + 16, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_AS */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 17, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ - 88 + 1, /* bogus */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_AS */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 17, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ + 88 + 1, /* bogus */ }, (4 + 12 + 1 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3) + 1), SHOULD_ERR, @@ -755,15 +755,15 @@ static struct test_segment { /* Nexthop */ 192, 168, 0, 1, /* SNPA (defunct, MBZ) */ 0x0, /* NLRI tuples */ 88 + 16, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_AS */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 2, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_AS */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 2, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ }, (4 + 12 + 1 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3)), SHOULD_ERR, @@ -782,15 +782,15 @@ static struct test_segment { /* Nexthop */ 192, 168, 0, 1, /* SNPA (defunct, MBZ) */ 0x0, /* NLRI tuples */ 88 + 16, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0xff, 0, /* Bogus RD */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 17, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ + /* rd, 8 octets */ + 0xff, 0, /* Bogus RD */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 17, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ }, (4 + 12 + 1 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3)), SHOULD_PARSE, @@ -809,16 +809,16 @@ static struct test_segment { /* Nexthop */ 192, 168, 0, 1, /* SNPA (defunct, MBZ) */ 0x0, /* NLRI tuples */ 88 + 16, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_AS */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 17, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ - 0 /* 0/0, bogus for vpnv4 ?? */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_AS */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 17, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ + 0 /* 0/0, bogus for vpnv4 ?? */ }, (4 + 12 + 1 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3) + 1), SHOULD_ERR, @@ -901,11 +901,23 @@ static struct test_segment mp_unreach_segments[] = { "IPv6-unreach2", "IPV6 MP Unreach, 2 NLRIs", { - /* AFI / SAFI */ 0x0, AFI_IP6, SAFI_UNICAST, - /* NLRI tuples */ 32, 0xff, 0xfe, 0x1, - 0x2, /* fffe:102::/32 */ - 64, 0xff, 0xfe, 0x0, 0x1, /* fffe:1:2:3::/64 */ - 0x0, 0x2, 0x0, 0x3, + /* AFI / SAFI */ 0x0, + AFI_IP6, + SAFI_UNICAST, + /* NLRI tuples */ 32, + 0xff, + 0xfe, + 0x1, + 0x2, /* fffe:102::/32 */ + 64, + 0xff, + 0xfe, + 0x0, + 0x1, /* fffe:1:2:3::/64 */ + 0x0, + 0x2, + 0x0, + 0x3, }, (3 + 5 + 9), SHOULD_PARSE, @@ -980,15 +992,15 @@ static struct test_segment mp_unreach_segments[] = { { /* AFI / SAFI */ 0x0, AFI_IP, IANA_SAFI_MPLS_VPN, /* NLRI tuples */ 88 + 16, 0, 1, 2, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_AS */ - 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ - 10, 1, /* 10.1/16 */ - 88 + 17, 0xff, 0, 0, /* tag */ - /* rd, 8 octets */ - 0, 0, /* RD_TYPE_IP */ - 192, 168, 0, 1, /* IPv4 */ - 10, 2, 3, /* 10.2.3/17 */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_AS */ + 0, 2, 0, 0xff, 3, 4, /* AS(2):val(4) */ + 10, 1, /* 10.1/16 */ + 88 + 17, 0xff, 0, 0, /* tag */ + /* rd, 8 octets */ + 0, 0, /* RD_TYPE_IP */ + 192, 168, 0, 1, /* IPv4 */ + 10, 2, 3, /* 10.2.3/17 */ }, (3 + (1 + 3 + 8 + 2) + (1 + 3 + 8 + 3)), SHOULD_PARSE, @@ -1017,9 +1029,9 @@ static void handle_result(struct peer *peer, struct test_segment *t, if (tty) - printf("%s", - (failed > oldfailed) ? VT100_RED "failed!" VT100_RESET - : VT100_GREEN "OK" VT100_RESET); + printf("%s", (failed > oldfailed) + ? VT100_RED "failed!" VT100_RESET + : VT100_GREEN "OK" VT100_RESET); else printf("%s", (failed > oldfailed) ? "failed!" : "OK"); diff --git a/tests/bgpd/test_mpath.c b/tests/bgpd/test_mpath.c index ccd3b6f4c2..72fe2d821c 100644 --- a/tests/bgpd/test_mpath.c +++ b/tests/bgpd/test_mpath.c @@ -361,7 +361,8 @@ testcase_t test_bgp_info_mpath_update = { * Set up testcase vector */ testcase_t *all_tests[] = { - &test_bgp_cfg_maximum_paths, &test_bgp_mp_list, + &test_bgp_cfg_maximum_paths, + &test_bgp_mp_list, &test_bgp_info_mpath_update, }; diff --git a/tests/lib/cli/test_commands.c b/tests/lib/cli/test_commands.c index 48dd99d28a..e149487c5d 100644 --- a/tests/lib/cli/test_commands.c +++ b/tests/lib/cli/test_commands.c @@ -49,19 +49,23 @@ static vector test_cmds; static char test_buf[32768]; static struct cmd_node bgp_node = { - BGP_NODE, "%s(config-router)# ", + BGP_NODE, + "%s(config-router)# ", }; static struct cmd_node rip_node = { - RIP_NODE, "%s(config-router)# ", + RIP_NODE, + "%s(config-router)# ", }; static struct cmd_node isis_node = { - ISIS_NODE, "%s(config-router)# ", + ISIS_NODE, + "%s(config-router)# ", }; static struct cmd_node interface_node = { - INTERFACE_NODE, "%s(config-if)# ", + INTERFACE_NODE, + "%s(config-if)# ", }; static struct cmd_node rmap_node = {RMAP_NODE, "%s(config-route-map)# "}; diff --git a/tests/lib/test_checksum.c b/tests/lib/test_checksum.c index c265e164eb..87ea3039ec 100644 --- a/tests/lib/test_checksum.c +++ b/tests/lib/test_checksum.c @@ -401,7 +401,7 @@ static int verify(u_char *buffer, testsz_t len) } static int /* return checksum in low-order 16 bits */ - in_cksum_optimized(void *parg, int nbytes) +in_cksum_optimized(void *parg, int nbytes) { u_short *ptr = parg; register long sum; /* assumes long == 32 bits */ @@ -433,7 +433,7 @@ static int /* return checksum in low-order 16 bits */ static int /* return checksum in low-order 16 bits */ - in_cksum_rfc(void *parg, int count) +in_cksum_rfc(void *parg, int count) /* from RFC 1071 */ { u_short *addr = parg; diff --git a/tests/lib/test_privs.c b/tests/lib/test_privs.c index c2cb5c2ea5..8438334377 100644 --- a/tests/lib/test_privs.c +++ b/tests/lib/test_privs.c @@ -27,7 +27,10 @@ #include "memory_vty.h" zebra_capabilities_t _caps_p[] = { - ZCAP_NET_RAW, ZCAP_BIND, ZCAP_NET_ADMIN, ZCAP_DAC_OVERRIDE, + ZCAP_NET_RAW, + ZCAP_BIND, + ZCAP_NET_ADMIN, + ZCAP_DAC_OVERRIDE, }; struct zebra_privs_t test_privs = { diff --git a/tests/lib/test_timer_correctness.c b/tests/lib/test_timer_correctness.c index 43e79ba9d0..eb9bca71d7 100644 --- a/tests/lib/test_timer_correctness.c +++ b/tests/lib/test_timer_correctness.c @@ -97,8 +97,8 @@ static int timer_func(struct thread *thread) static int cmp_timeval(const void *a, const void *b) { - const struct timeval *ta = *(struct timeval * const *)a; - const struct timeval *tb = *(struct timeval * const *)b; + const struct timeval *ta = *(struct timeval *const *)a; + const struct timeval *tb = *(struct timeval *const *)b; if (timercmp(ta, tb, <)) return -1; diff --git a/tools/start-stop-daemon.c b/tools/start-stop-daemon.c index 39527eca77..7372cc8449 100644 --- a/tools/start-stop-daemon.c +++ b/tools/start-stop-daemon.c @@ -869,12 +869,13 @@ static int run_stop_schedule(void) if (ratio < 10) ratio++; - TVCALC(interval, - ratio * (TVELEM(&after) - TVELEM(&before) - + TVADJUST)); - TVCALC(maxinterval, - TVELEM(&stopat) - TVELEM(&after) - + TVADJUST); + TVCALC(interval, ratio + * (TVELEM(&after) + - TVELEM(&before) + + TVADJUST)); + TVCALC(maxinterval, TVELEM(&stopat) + - TVELEM(&after) + + TVADJUST); if (timercmp(&interval, &maxinterval, >)) interval = maxinterval; diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 666f3049d7..bca582d628 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -667,9 +667,8 @@ int vtysh_config_from_file(struct vty *vty, FILE *fp) case CMD_ERR_NO_MATCH: fprintf(stderr, "line %d: %% Unknown command[%d]: %s", lineno, vty->node, vty->buf); - retcode = - CMD_ERR_NO_MATCH; /* once we have an error, we - remember & return that */ + retcode = CMD_ERR_NO_MATCH; /* once we have an error, we + remember & return that */ break; case CMD_ERR_INCOMPLETE: fprintf(stderr, @@ -871,27 +870,33 @@ static char **new_completion(char *text, int start, int end) /* Vty node structures. */ static struct cmd_node bgp_node = { - BGP_NODE, "%s(config-router)# ", + BGP_NODE, + "%s(config-router)# ", }; static struct cmd_node rip_node = { - RIP_NODE, "%s(config-router)# ", + RIP_NODE, + "%s(config-router)# ", }; static struct cmd_node isis_node = { - ISIS_NODE, "%s(config-router)# ", + ISIS_NODE, + "%s(config-router)# ", }; static struct cmd_node interface_node = { - INTERFACE_NODE, "%s(config-if)# ", + INTERFACE_NODE, + "%s(config-if)# ", }; static struct cmd_node ns_node = { - NS_NODE, "%s(config-logical-router)# ", + NS_NODE, + "%s(config-logical-router)# ", }; static struct cmd_node vrf_node = { - VRF_NODE, "%s(config-vrf)# ", + VRF_NODE, + "%s(config-vrf)# ", }; static struct cmd_node rmap_node = {RMAP_NODE, "%s(config-route-map)# "}; @@ -973,7 +978,8 @@ static struct cmd_node keychain_key_node = {KEYCHAIN_KEY_NODE, "%s(config-keychain-key)# "}; struct cmd_node link_params_node = { - LINK_PARAMS_NODE, "%s(config-link-params)# ", + LINK_PARAMS_NODE, + "%s(config-link-params)# ", }; /* Defined in lib/vty.c */ @@ -1629,7 +1635,8 @@ DEFUNSH(VTYSH_INTERFACE, vtysh_interface, vtysh_interface_cmd, /* TODO Implement "no interface command in isisd. */ DEFSH(VTYSH_ZEBRA | VTYSH_RIPD | VTYSH_RIPNGD | VTYSH_OSPFD | VTYSH_OSPF6D | VTYSH_EIGRPD, - vtysh_no_interface_cmd, "no interface IFNAME", NO_STR + vtysh_no_interface_cmd, "no interface IFNAME", + NO_STR "Delete a pseudo interface's configuration\n" "Interface's name\n") @@ -1656,7 +1663,8 @@ DEFUNSH(VTYSH_VRF, vtysh_vrf, vtysh_vrf_cmd, "vrf NAME", return CMD_SUCCESS; } -DEFSH(VTYSH_ZEBRA, vtysh_no_vrf_cmd, "no vrf NAME", NO_STR +DEFSH(VTYSH_ZEBRA, vtysh_no_vrf_cmd, "no vrf NAME", + NO_STR "Delete a pseudo vrf's configuration\n" "VRF's name\n") @@ -1907,7 +1915,8 @@ DEFUNSH(VTYSH_ALL, vtysh_log_stdout_level, vtysh_log_stdout_level_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_log_stdout, no_vtysh_log_stdout_cmd, - "no log stdout [LEVEL]", NO_STR + "no log stdout [LEVEL]", + NO_STR "Logging control\n" "Cancel logging to stdout\n" "Logging level\n") @@ -1933,7 +1942,8 @@ DEFUNSH(VTYSH_ALL, vtysh_log_file_level, vtysh_log_file_level_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_log_file, no_vtysh_log_file_cmd, - "no log file [FILENAME [LEVEL]]", NO_STR + "no log file [FILENAME [LEVEL]]", + NO_STR "Logging control\n" "Cancel logging to file\n" "Logging file name\n" @@ -1951,7 +1961,8 @@ DEFUNSH(VTYSH_ALL, vtysh_log_monitor, vtysh_log_monitor_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_log_monitor, no_vtysh_log_monitor_cmd, - "no log monitor [LEVEL]", NO_STR + "no log monitor [LEVEL]", + NO_STR "Logging control\n" "Disable terminal line (monitor) logging\n" "Logging level\n") @@ -1968,7 +1979,8 @@ DEFUNSH(VTYSH_ALL, vtysh_log_syslog, vtysh_log_syslog_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_log_syslog, no_vtysh_log_syslog_cmd, - "no log syslog [LEVEL]", NO_STR + "no log syslog [LEVEL]", + NO_STR "Logging control\n" "Cancel logging to syslog\n" "Logging level\n") @@ -1986,7 +1998,8 @@ DEFUNSH(VTYSH_ALL, vtysh_log_facility, vtysh_log_facility_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_log_facility, no_vtysh_log_facility_cmd, - "no log facility [FACILITY]", NO_STR + "no log facility [FACILITY]", + NO_STR "Logging control\n" "Reset syslog facility to default (daemon)\n" "Syslog facility\n") @@ -2006,7 +2019,8 @@ DEFUNSH_DEPRECATED( } DEFUNSH_DEPRECATED(VTYSH_ALL, no_vtysh_log_trap, no_vtysh_log_trap_cmd, - "no log trap [LEVEL]", NO_STR + "no log trap [LEVEL]", + NO_STR "Logging control\n" "Permit all logging information\n" "Logging level\n") @@ -2023,7 +2037,8 @@ DEFUNSH(VTYSH_ALL, vtysh_log_record_priority, vtysh_log_record_priority_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_log_record_priority, - no_vtysh_log_record_priority_cmd, "no log record-priority", NO_STR + no_vtysh_log_record_priority_cmd, "no log record-priority", + NO_STR "Logging control\n" "Do not log the priority of the message within the message\n") { @@ -2087,7 +2102,8 @@ DEFUNSH(VTYSH_ALL, vtysh_config_enable_password, vtysh_enable_password_cmd, } DEFUNSH(VTYSH_ALL, no_vtysh_config_enable_password, - no_vtysh_enable_password_cmd, "no enable password", NO_STR + no_vtysh_enable_password_cmd, "no enable password", + NO_STR "Modify enable password parameters\n" "Assign the privileged level password\n") { diff --git a/zebra/if_ioctl_solaris.c b/zebra/if_ioctl_solaris.c index fce36ebc1d..d38fe7c306 100644 --- a/zebra/if_ioctl_solaris.c +++ b/zebra/if_ioctl_solaris.c @@ -119,7 +119,7 @@ calculate_lifc_len: /* must hold privileges to enter here */ if (ret < 0) { if (errno == EINVAL) goto calculate_lifc_len; /* deliberately hold privileges - */ + */ zlog_warn("SIOCGLIFCONF: %s", safe_strerror(errno)); diff --git a/zebra/interface.c b/zebra/interface.c index 26b2433826..02c2a6c151 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -429,7 +429,7 @@ static void if_addr_wakeup(struct interface *ifp) * XXX: RUNNING is not a settable flag * on any system * I (paulj) am aware of. - */ + */ if_set_flags(ifp, IFF_UP | IFF_RUNNING); if_refresh(ifp); } @@ -1747,7 +1747,9 @@ DEFUN (no_bandwidth_if, struct cmd_node link_params_node = { - LINK_PARAMS_NODE, "%s(config-link-params)# ", 1, + LINK_PARAMS_NODE, + "%s(config-link-params)# ", + 1, }; static void link_param_cmd_set_uint32(struct interface *ifp, uint32_t *field, diff --git a/zebra/interface.h b/zebra/interface.h index ea72264696..58c61c2c11 100644 --- a/zebra/interface.h +++ b/zebra/interface.h @@ -172,11 +172,10 @@ struct rtadvconf { int DefaultPreference; #define RTADV_PREF_MEDIUM 0x0 /* Per RFC4191. */ - u_char inFastRexmit; /* True if we're rexmits faster than usual */ - u_char configured; /* Has operator configured RA? */ - int - NumFastReXmitsRemain; /* Loaded first with number of fast - rexmits to do */ + u_char inFastRexmit; /* True if we're rexmits faster than usual */ + u_char configured; /* Has operator configured RA? */ + int NumFastReXmitsRemain; /* Loaded first with number of fast + rexmits to do */ #define RTADV_FAST_REXMIT_PERIOD 1 /* 1 sec */ #define RTADV_NUM_FAST_REXMITS 4 /* Fast Rexmit RA 4 times on certain events */ diff --git a/zebra/kernel_netlink.c b/zebra/kernel_netlink.c index 7fc2d61332..8a5bc69521 100644 --- a/zebra/kernel_netlink.c +++ b/zebra/kernel_netlink.c @@ -307,7 +307,8 @@ static void netlink_install_filter(int sock, __u32 pid) }; struct sock_fprog prog = { - .len = array_size(filter), .filter = filter, + .len = array_size(filter), + .filter = filter, }; if (setsockopt(sock, SOL_SOCKET, SO_ATTACH_FILTER, &prog, sizeof(prog)) diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index 4b63a3eb04..2484d81832 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -315,8 +315,9 @@ static int ifan_read(struct if_announcemsghdr *ifan) assert((ifp->ifindex == ifan->ifan_index) || (ifp->ifindex == IFINDEX_INTERNAL)); - if ((ifp == NULL) || ((ifp->ifindex == IFINDEX_INTERNAL) - && (ifan->ifan_what == IFAN_ARRIVAL))) { + if ((ifp == NULL) + || ((ifp->ifindex == IFINDEX_INTERNAL) + && (ifan->ifan_what == IFAN_ARRIVAL))) { if (IS_ZEBRA_DEBUG_KERNEL) zlog_debug( "%s: creating interface for ifindex %d, name %s", @@ -944,7 +945,7 @@ void rtm_read(struct rt_msghdr *rtm) buf, gate_buf); break; case ZEBRA_RIB_FOUND_EXACT: /* RIB RR == FIB RR - */ + */ zlog_debug( "%s: %s %s: done Ok", __func__, lookup_msg(rtm_type_str, diff --git a/zebra/main.c b/zebra/main.c index 27a6f3e027..b9a3bf881a 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -89,7 +89,9 @@ struct option longopts[] = {{"batch", no_argument, NULL, 'b'}, {0}}; zebra_capabilities_t _caps_p[] = { - ZCAP_NET_ADMIN, ZCAP_SYS_ADMIN, ZCAP_NET_RAW, + ZCAP_NET_ADMIN, + ZCAP_SYS_ADMIN, + ZCAP_NET_RAW, }; /* zebra privileges to run with */ @@ -224,7 +226,7 @@ int main(int argc, char **argv) #ifdef HAVE_NETLINK " -s, --nl-bufsize Set netlink receive buffer size\n" #endif /* HAVE_NETLINK */ - ); + ); while (1) { int opt = frr_getopt(argc, argv, NULL); @@ -308,25 +310,25 @@ int main(int argc, char **argv) zebra_ns_init(); /* Process the configuration file. Among other configuration - * directives we can meet those installing static routes. Such - * requests will not be executed immediately, but queued in - * zebra->ribq structure until we enter the main execution loop. - * The notifications from kernel will show originating PID equal - * to that after daemon() completes (if ever called). - */ + * directives we can meet those installing static routes. Such + * requests will not be executed immediately, but queued in + * zebra->ribq structure until we enter the main execution loop. + * The notifications from kernel will show originating PID equal + * to that after daemon() completes (if ever called). + */ frr_config_fork(); /* Clean up rib -- before fork (?) */ /* rib_weed_tables (); */ /* After we have successfully acquired the pidfile, we can be sure - * about being the only copy of zebra process, which is submitting - * changes to the FIB. - * Clean up zebra-originated routes. The requests will be sent to OS - * immediately, so originating PID in notifications from kernel - * will be equal to the current getpid(). To know about such routes, - * we have to have route_read() called before. - */ + * about being the only copy of zebra process, which is submitting + * changes to the FIB. + * Clean up zebra-originated routes. The requests will be sent to OS + * immediately, so originating PID in notifications from kernel + * will be equal to the current getpid(). To know about such routes, + * we have to have route_read() called before. + */ if (!keep_kernel_mode) rib_sweep_route(); diff --git a/zebra/rtadv.c b/zebra/rtadv.c index b8cf2d490a..a7679cb830 100644 --- a/zebra/rtadv.c +++ b/zebra/rtadv.c @@ -263,7 +263,7 @@ static void rtadv_send_packet(int sock, struct interface *ifp) for RL, but not for HAL*/ - ); + ); len += sizeof(struct nd_opt_homeagent_info); } @@ -1274,8 +1274,9 @@ DEFUN (ipv6_nd_prefix, { /* prelude */ char *prefix = argv[3]->arg; - int lifetimes = (argc > 4) && (argv[4]->type == RANGE_TKN - || strmatch(argv[4]->text, "infinite")); + int lifetimes = (argc > 4) + && (argv[4]->type == RANGE_TKN + || strmatch(argv[4]->text, "infinite")); int routeropts = lifetimes ? argc > 6 : argc > 4; int idx_routeropts = routeropts ? (lifetimes ? 6 : 4) : 0; diff --git a/zebra/zebra_l2.h b/zebra/zebra_l2.h index d9bbcfed6f..0d0c5aaf22 100644 --- a/zebra/zebra_l2.h +++ b/zebra/zebra_l2.h @@ -67,7 +67,6 @@ union zebra_l2if_info { #define IS_ZEBRA_IF_BRIDGE_VLAN_AWARE(zif) ((zif)->l2info.br.vlan_aware == 1) - extern void zebra_l2_map_slave_to_bridge(struct zebra_l2info_brslave *br_slave); extern void zebra_l2_unmap_slave_from_bridge(struct zebra_l2info_brslave *br_slave); diff --git a/zebra/zebra_mpls.c b/zebra/zebra_mpls.c index e44e5d2e6b..cb1c80923d 100644 --- a/zebra/zebra_mpls.c +++ b/zebra/zebra_mpls.c @@ -1965,7 +1965,7 @@ int zebra_mpls_label_already_bound(struct zebra_vrf *zvrf, mpls_label_t label) * Add static FEC to label binding. If there are clients registered for this * FEC, notify them. If there are labeled routes for this FEC, install the * label forwarding entry. -*/ + */ int zebra_mpls_static_fec_add(struct zebra_vrf *zvrf, struct prefix *p, mpls_label_t in_label) { @@ -2639,8 +2639,9 @@ void zebra_mpls_print_lsp(struct vty *vty, struct zebra_vrf *zvrf, if (use_json) { json = lsp_json(lsp); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else lsp_print(lsp, (void *)vty); @@ -2668,8 +2669,9 @@ void zebra_mpls_print_lsp_table(struct vty *vty, struct zebra_vrf *zvrf, json, label2str(lsp->ile.in_label, buf, BUFSIZ), lsp_json(lsp)); - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } else { vty_out(vty, " Inbound Outbound\n"); diff --git a/zebra/zebra_ptm.c b/zebra/zebra_ptm.c index 1bf672d4a1..0c79d773a8 100644 --- a/zebra/zebra_ptm.c +++ b/zebra/zebra_ptm.c @@ -267,8 +267,9 @@ DEFUN (zebra_ptm_enable, for (ALL_LIST_ELEMENTS_RO(vrf->iflist, i, ifp)) if (!ifp->ptm_enable) { if_data = (struct zebra_if *)ifp->info; - if (if_data && (if_data->ptm_enable - == ZEBRA_IF_PTM_ENABLE_UNSPEC)) { + if (if_data + && (if_data->ptm_enable + == ZEBRA_IF_PTM_ENABLE_UNSPEC)) { ifp->ptm_enable = ZEBRA_IF_PTM_ENABLE_ON; } /* Assign a default unknown status */ diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 98508aaa89..c72e290032 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -68,17 +68,17 @@ static const struct { int key; int distance; } route_info[ZEBRA_ROUTE_MAX] = { - [ZEBRA_ROUTE_SYSTEM] = {ZEBRA_ROUTE_SYSTEM, 0}, - [ZEBRA_ROUTE_KERNEL] = {ZEBRA_ROUTE_KERNEL, 0}, - [ZEBRA_ROUTE_CONNECT] = {ZEBRA_ROUTE_CONNECT, 0}, - [ZEBRA_ROUTE_STATIC] = {ZEBRA_ROUTE_STATIC, 1}, - [ZEBRA_ROUTE_RIP] = {ZEBRA_ROUTE_RIP, 120}, - [ZEBRA_ROUTE_RIPNG] = {ZEBRA_ROUTE_RIPNG, 120}, - [ZEBRA_ROUTE_OSPF] = {ZEBRA_ROUTE_OSPF, 110}, - [ZEBRA_ROUTE_OSPF6] = {ZEBRA_ROUTE_OSPF6, 110}, - [ZEBRA_ROUTE_ISIS] = {ZEBRA_ROUTE_ISIS, 115}, - [ZEBRA_ROUTE_BGP] = {ZEBRA_ROUTE_BGP, 20 /* IBGP is 200. */}, - [ZEBRA_ROUTE_NHRP] = {ZEBRA_ROUTE_NHRP, 10}, + [ZEBRA_ROUTE_SYSTEM] = {ZEBRA_ROUTE_SYSTEM, 0}, + [ZEBRA_ROUTE_KERNEL] = {ZEBRA_ROUTE_KERNEL, 0}, + [ZEBRA_ROUTE_CONNECT] = {ZEBRA_ROUTE_CONNECT, 0}, + [ZEBRA_ROUTE_STATIC] = {ZEBRA_ROUTE_STATIC, 1}, + [ZEBRA_ROUTE_RIP] = {ZEBRA_ROUTE_RIP, 120}, + [ZEBRA_ROUTE_RIPNG] = {ZEBRA_ROUTE_RIPNG, 120}, + [ZEBRA_ROUTE_OSPF] = {ZEBRA_ROUTE_OSPF, 110}, + [ZEBRA_ROUTE_OSPF6] = {ZEBRA_ROUTE_OSPF6, 110}, + [ZEBRA_ROUTE_ISIS] = {ZEBRA_ROUTE_ISIS, 115}, + [ZEBRA_ROUTE_BGP] = {ZEBRA_ROUTE_BGP, 20 /* IBGP is 200. */}, + [ZEBRA_ROUTE_NHRP] = {ZEBRA_ROUTE_NHRP, 10}, /* no entry/default: 150 */ }; @@ -1551,8 +1551,9 @@ static void rib_process(struct route_node *rn) /* Buffer ROUTE_ENTRY_CHANGED here, because it will get cleared if * fib == selected */ - bool selected_changed = new_selected && CHECK_FLAG(new_selected->status, - ROUTE_ENTRY_CHANGED); + bool selected_changed = + new_selected + && CHECK_FLAG(new_selected->status, ROUTE_ENTRY_CHANGED); /* Update fib according to selection results */ if (new_fib && old_fib) @@ -1725,30 +1726,30 @@ static wq_item_status meta_queue_process(struct work_queue *dummy, void *data) * Map from rib types to queue type (priority) in meta queue */ static const u_char meta_queue_map[ZEBRA_ROUTE_MAX] = { - [ZEBRA_ROUTE_SYSTEM] = 4, - [ZEBRA_ROUTE_KERNEL] = 0, - [ZEBRA_ROUTE_CONNECT] = 0, - [ZEBRA_ROUTE_STATIC] = 1, - [ZEBRA_ROUTE_RIP] = 2, - [ZEBRA_ROUTE_RIPNG] = 2, - [ZEBRA_ROUTE_OSPF] = 2, - [ZEBRA_ROUTE_OSPF6] = 2, - [ZEBRA_ROUTE_ISIS] = 2, - [ZEBRA_ROUTE_BGP] = 3, - [ZEBRA_ROUTE_PIM] = 4, // Shouldn't happen but for safety - [ZEBRA_ROUTE_EIGRP] = 2, - [ZEBRA_ROUTE_NHRP] = 2, - [ZEBRA_ROUTE_HSLS] = 4, - [ZEBRA_ROUTE_OLSR] = 4, - [ZEBRA_ROUTE_TABLE] = 1, - [ZEBRA_ROUTE_LDP] = 4, - [ZEBRA_ROUTE_VNC] = 3, - [ZEBRA_ROUTE_VNC_DIRECT] = 3, - [ZEBRA_ROUTE_VNC_DIRECT_RH] = 3, - [ZEBRA_ROUTE_BGP_DIRECT] = 3, - [ZEBRA_ROUTE_BGP_DIRECT_EXT] = 3, - [ZEBRA_ROUTE_BABEL] = 2, - [ZEBRA_ROUTE_ALL] = 4, // Shouldn't happen but for safety + [ZEBRA_ROUTE_SYSTEM] = 4, + [ZEBRA_ROUTE_KERNEL] = 0, + [ZEBRA_ROUTE_CONNECT] = 0, + [ZEBRA_ROUTE_STATIC] = 1, + [ZEBRA_ROUTE_RIP] = 2, + [ZEBRA_ROUTE_RIPNG] = 2, + [ZEBRA_ROUTE_OSPF] = 2, + [ZEBRA_ROUTE_OSPF6] = 2, + [ZEBRA_ROUTE_ISIS] = 2, + [ZEBRA_ROUTE_BGP] = 3, + [ZEBRA_ROUTE_PIM] = 4, // Shouldn't happen but for safety + [ZEBRA_ROUTE_EIGRP] = 2, + [ZEBRA_ROUTE_NHRP] = 2, + [ZEBRA_ROUTE_HSLS] = 4, + [ZEBRA_ROUTE_OLSR] = 4, + [ZEBRA_ROUTE_TABLE] = 1, + [ZEBRA_ROUTE_LDP] = 4, + [ZEBRA_ROUTE_VNC] = 3, + [ZEBRA_ROUTE_VNC_DIRECT] = 3, + [ZEBRA_ROUTE_VNC_DIRECT_RH] = 3, + [ZEBRA_ROUTE_BGP_DIRECT] = 3, + [ZEBRA_ROUTE_BGP_DIRECT_EXT] = 3, + [ZEBRA_ROUTE_BABEL] = 2, + [ZEBRA_ROUTE_ALL] = 4, // Shouldn't happen but for safety }; /* Look into the RN and queue it into one or more priority queues, @@ -2395,7 +2396,7 @@ void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type, family2afi(afi), gate, buf2, INET_ADDRSTRLEN), /* FIXME - */ + */ ifindex, type); else rnode_debug( diff --git a/zebra/zebra_rnh.h b/zebra/zebra_rnh.h index f8d89ec8ca..f769a273eb 100644 --- a/zebra/zebra_rnh.h +++ b/zebra/zebra_rnh.h @@ -39,12 +39,12 @@ struct rnh { struct route_entry *state; struct prefix resolved_route; struct list *client_list; - struct list * - zebra_static_route_list; /* static routes dependent on this NH - */ + struct list + *zebra_static_route_list; /* static routes dependent on this NH + */ struct route_node *node; int filtered[ZEBRA_ROUTE_MAX]; /* if this has been filtered for client - */ + */ }; typedef enum { RNH_NEXTHOP_TYPE, RNH_IMPORT_CHECK_TYPE } rnh_type_t; diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c index 0176b36840..2b209613d4 100644 --- a/zebra/zebra_routemap.c +++ b/zebra/zebra_routemap.c @@ -148,7 +148,9 @@ static route_map_result_t route_match_tag(void *rule, struct prefix *prefix, /* Route map commands for tag matching */ static struct route_map_rule_cmd route_match_tag_cmd = { - "tag", route_match_tag, route_map_rule_tag_compile, + "tag", + route_match_tag, + route_map_rule_tag_compile, route_map_rule_tag_free, }; @@ -1167,7 +1169,10 @@ static void route_set_src_free(void *rule) /* Set src rule structure. */ static struct route_map_rule_cmd route_set_src_cmd = { - "src", route_set_src, route_set_src_compile, route_set_src_free, + "src", + route_set_src, + route_set_src_compile, + route_set_src_free, }; static int zebra_route_map_update_timer(struct thread *thread) diff --git a/zebra/zebra_static.c b/zebra/zebra_static.c index ae32395161..84b2c14dbe 100644 --- a/zebra/zebra_static.c +++ b/zebra/zebra_static.c @@ -361,8 +361,9 @@ int static_add_route(afi_t afi, safi_t safi, u_char type, struct prefix *p, if (!stable) return -1; - if (!gate && (type == STATIC_IPV4_GATEWAY || type == STATIC_IPV6_GATEWAY - || type == STATIC_IPV6_GATEWAY_IFINDEX)) + if (!gate + && (type == STATIC_IPV4_GATEWAY || type == STATIC_IPV6_GATEWAY + || type == STATIC_IPV6_GATEWAY_IFINDEX)) return -1; if (!ifindex @@ -375,10 +376,11 @@ int static_add_route(afi_t afi, safi_t safi, u_char type, struct prefix *p, /* Do nothing if there is a same static route. */ for (si = rn->info; si; si = si->next) { if (type == si->type - && (!gate || ((afi == AFI_IP - && IPV4_ADDR_SAME(gate, &si->addr.ipv4)) - || (afi == AFI_IP6 - && IPV6_ADDR_SAME(gate, &si->addr.ipv6)))) + && (!gate + || ((afi == AFI_IP + && IPV4_ADDR_SAME(gate, &si->addr.ipv4)) + || (afi == AFI_IP6 + && IPV6_ADDR_SAME(gate, &si->addr.ipv6)))) && (!ifindex || ifindex == si->ifindex)) { if ((distance == si->distance) && (tag == si->tag) && !memcmp(&si->snh_label, snh_label, @@ -483,10 +485,11 @@ int static_delete_route(afi_t afi, safi_t safi, u_char type, struct prefix *p, /* Find same static route is the tree */ for (si = rn->info; si; si = si->next) if (type == si->type - && (!gate || ((afi == AFI_IP - && IPV4_ADDR_SAME(gate, &si->addr.ipv4)) - || (afi == AFI_IP6 - && IPV6_ADDR_SAME(gate, &si->addr.ipv6)))) + && (!gate + || ((afi == AFI_IP + && IPV4_ADDR_SAME(gate, &si->addr.ipv4)) + || (afi == AFI_IP6 + && IPV6_ADDR_SAME(gate, &si->addr.ipv6)))) && (!ifindex || ifindex == si->ifindex) && (!tag || (tag == si->tag)) && (!snh_label->num_labels diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index 3978664dbe..a97672599d 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -1231,8 +1231,9 @@ static int do_show_ip_route(struct vty *vty, const char *vrf_name, afi_t afi, } if (use_json) { - vty_out(vty, "%s\n", json_object_to_json_string_ext( - json, JSON_C_TO_STRING_PRETTY)); + vty_out(vty, "%s\n", + json_object_to_json_string_ext( + json, JSON_C_TO_STRING_PRETTY)); json_object_free(json); } @@ -1620,8 +1621,9 @@ static void vty_show_ip_route_summary(struct vty *vty, "FIB", zvrf_name(((rib_table_info_t *)table->info)->zvrf)); for (i = 0; i < ZEBRA_ROUTE_MAX; i++) { - if ((rib_cnt[i] > 0) || (i == ZEBRA_ROUTE_BGP - && rib_cnt[ZEBRA_ROUTE_IBGP] > 0)) { + if ((rib_cnt[i] > 0) + || (i == ZEBRA_ROUTE_BGP + && rib_cnt[ZEBRA_ROUTE_IBGP] > 0)) { if (i == ZEBRA_ROUTE_BGP) { vty_out(vty, "%-20s %-20d %-20d \n", "ebgp", rib_cnt[ZEBRA_ROUTE_BGP], diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index c96f073064..d03caabfa6 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -903,9 +903,10 @@ static void zvni_mac_del_from_vtep(zebra_vni_t *zvni, int uninstall, wctx.flags = DEL_REMOTE_MAC_FROM_VTEP; wctx.r_vtep_ip = *r_vtep_ip; - hash_iterate(zvni->mac_table, (void (*)(struct hash_backet *, - void *))zvni_mac_del_hash_entry, - &wctx); + hash_iterate( + zvni->mac_table, + (void (*)(struct hash_backet *, void *))zvni_mac_del_hash_entry, + &wctx); } /* @@ -926,9 +927,10 @@ static void zvni_mac_del_all(struct zebra_vrf *zvrf, zebra_vni_t *zvni, wctx.upd_client = upd_client; wctx.flags = flags; - hash_iterate(zvni->mac_table, (void (*)(struct hash_backet *, - void *))zvni_mac_del_hash_entry, - &wctx); + hash_iterate( + zvni->mac_table, + (void (*)(struct hash_backet *, void *))zvni_mac_del_hash_entry, + &wctx); } /* @@ -1993,7 +1995,7 @@ int zebra_vxlan_local_neigh_add_update(struct interface *ifp, send_del = 1; } else if (ext_learned) /* The neighbor is remote and that is the notification we got. - */ + */ { /* TODO: Evaluate if we need to do anything here. */ return 0; diff --git a/zebra/zserv.c b/zebra/zserv.c index 3bc5f83f64..fb1ff74c28 100644 --- a/zebra/zserv.c +++ b/zebra/zserv.c @@ -854,8 +854,9 @@ static int zserv_rnh_register(struct zserv *client, int sock, u_short length, if (flags && !CHECK_FLAG(rnh->flags, ZEBRA_NHT_EXACT_MATCH)) SET_FLAG(rnh->flags, ZEBRA_NHT_EXACT_MATCH); - else if (!flags && CHECK_FLAG(rnh->flags, - ZEBRA_NHT_EXACT_MATCH)) + else if (!flags + && CHECK_FLAG(rnh->flags, + ZEBRA_NHT_EXACT_MATCH)) UNSET_FLAG(rnh->flags, ZEBRA_NHT_EXACT_MATCH); } @@ -2819,8 +2820,9 @@ DEFUN (show_zebra, RB_FOREACH(vrf, vrf_name_head, &vrfs_by_name) { struct zebra_vrf *zvrf = vrf->info; - vty_out(vty, "%-25s %10" PRIu64 " %10" PRIu64 " %10" PRIu64 - " %10" PRIu64 " %10" PRIu64 "\n", + vty_out(vty, + "%-25s %10" PRIu64 " %10" PRIu64 " %10" PRIu64 + " %10" PRIu64 " %10" PRIu64 "\n", vrf->name, zvrf->installs, zvrf->removals, zvrf->neigh_updates, zvrf->lsp_installs, zvrf->lsp_removals); |
