• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/ap/gpl/zebra/bgpd/

Lines Matching defs:afi

62 bgp_afi_node_get (struct bgp *bgp, afi_t afi, safi_t safi, struct prefix *p,
71 prn = bgp_node_get (bgp->rib[afi][safi], (struct prefix *) prd);
80 table = bgp->rib[afi][safi];
335 afi_t afi, safi_t safi)
339 filter = &peer->filter[afi][safi];
358 afi_t afi, safi_t safi)
362 filter = &peer->filter[afi][safi];
425 afi_t afi, safi_t safi)
431 filter = &peer->filter[afi][safi];
458 struct attr *attr, afi_t afi, safi_t safi)
471 filter = &peer->filter[afi][safi];
488 if (CHECK_FLAG (peer->af_flags[afi][safi],
520 if (CHECK_FLAG (peer->af_cap[afi][safi], PEER_CAP_ORF_PREFIX_RM_ADV)
521 && (CHECK_FLAG (peer->af_cap[afi][safi], PEER_CAP_ORF_PREFIX_SM_RCV)
522 || CHECK_FLAG (peer->af_cap[afi][safi], PEER_CAP_ORF_PREFIX_SM_OLD_RCV)))
523 if (peer->orf_plist[afi][safi])
525 if (prefix_list_apply (peer->orf_plist[afi][safi], p) == PREFIX_DENY)
530 if (bgp_output_filter (peer, p, ri->attr, afi, safi) == FILTER_DENY)
577 if (CHECK_FLAG (from->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT))
584 if (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT))
591 if (! CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT))
609 if (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT)
610 && CHECK_FLAG (from->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT))
620 && ! CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_MED_UNCHANGED))
626 || (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_NEXTHOP_UNCHANGED)
632 else if (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_NEXTHOP_SELF)
688 && peer_af_flag_check (peer, afi, safi, PEER_FLAG_REMOVE_PRIVATE_AS)
723 bgp_process (struct bgp *bgp, struct bgp_node *rn, afi_t afi, safi_t safi)
824 if (! peer->afc_nego[afi][safi])
828 if (CHECK_FLAG (peer->af_sflags[afi][safi], PEER_STATUS_ORF_WAIT_REFRESH))
834 && bgp_announce_check (new_select, peer, p, &attr, afi, safi))
835 bgp_adj_out_set (rn, peer, p, &attr, afi, safi, new_select);
837 bgp_adj_out_unset (rn, peer, p, afi, safi);
861 bgp_maximum_prefix_overflow (struct peer *peer, afi_t afi, safi_t safi)
863 if (peer->pmax[afi][safi]
864 && peer->pcount[afi][safi] >= peer->pmax[afi][safi])
867 "MAXPFXEXCEED: No. of prefix received from %s (afi %d): %ld exceed limit %ld",
868 peer->host, afi, peer->pcount[afi][safi], peer->pmax[afi][safi]);
869 if (! peer->pmax_warning[afi][safi])
873 ndata[0] = (u_char)(afi >> 8);
874 ndata[1] = (u_char) afi;
875 ndata[3] = (u_char)(peer->pmax[afi][safi] >> 24);
876 ndata[4] = (u_char)(peer->pmax[afi][safi] >> 16);
877 ndata[5] = (u_char)(peer->pmax[afi][safi] >> 8);
878 ndata[6] = (u_char)(peer->pmax[afi][safi]);
896 afi_t afi, safi_t safi)
900 peer->pcount[afi][safi]--;
901 bgp_aggregate_decrement (peer->bgp, &rn->p, ri, afi, safi);
903 bgp_process (peer->bgp, rn, afi, safi);
912 afi_t afi, safi_t safi, int force)
919 peer->pcount[afi][safi]--;
920 bgp_aggregate_decrement (peer->bgp, &rn->p, ri, afi, safi);
925 if (CHECK_FLAG (peer->bgp->af_flags[afi][safi], BGP_CONFIG_DAMPENING)
927 status = bgp_damp_withdraw (ri, rn, afi, safi, 0);
935 bgp_process (peer->bgp, rn, afi, safi);
950 afi_t afi, safi_t safi, int type, int sub_type,
965 rn = bgp_afi_node_get (bgp, afi, safi, p, prd);
969 if (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_SOFT_RECONFIG)
992 if (aspath_loop_check (attr->aspath, bgp->as) > peer->allowas_in[afi][safi]
995 > peer->allowas_in[afi][safi]))
1017 if (bgp_input_filter (peer, p, attr, afi, safi) == FILTER_DENY)
1026 if (bgp_input_modifier (peer, p, &new_attr, afi, safi) == RMAP_DENY)
1033 if (afi == AFI_IP && safi == SAFI_UNICAST)
1038 && ! bgp_nexthop_check_ebgp (afi, &new_attr)
1047 if (bgp_nexthop_self (afi, &new_attr)
1068 if (CHECK_FLAG (bgp->af_flags[afi][safi], BGP_CONFIG_DAMPENING)
1078 peer->pcount[afi][safi]++;
1079 ret = bgp_damp_update (ri, rn, afi, safi);
1082 bgp_aggregate_increment (bgp, p, ri, afi, safi);
1083 bgp_process (bgp, rn, afi, safi);
1112 if (CHECK_FLAG (bgp->af_flags[afi][safi], BGP_CONFIG_DAMPENING)
1118 bgp_damp_withdraw (ri, rn, afi, safi, 1);
1120 peer->pcount[afi][safi]++;
1123 bgp_aggregate_decrement (bgp, p, ri, afi, safi);
1134 if (CHECK_FLAG (bgp->af_flags[afi][safi], BGP_CONFIG_DAMPENING)
1138 ret = bgp_damp_update (ri, rn, afi, safi);
1147 if ((afi == AFI_IP || afi == AFI_IP6)
1153 if (bgp_nexthop_lookup (afi, peer, ri, NULL, NULL))
1162 bgp_aggregate_increment (bgp, p, ri, afi, safi);
1164 bgp_process (bgp, rn, afi, safi);
1179 peer->pcount[afi][safi]++;
1194 if ((afi == AFI_IP || afi == AFI_IP6)
1200 if (bgp_nexthop_lookup (afi, peer, new, NULL, NULL))
1209 bgp_aggregate_increment (bgp, p, new, afi, safi);
1216 if (! peer->pmax_warning[afi][safi])
1217 if (bgp_maximum_prefix_overflow (peer, afi, safi))
1221 bgp_process (bgp, rn, afi, safi);
1236 bgp_rib_withdraw (rn, ri, peer, afi, safi, 1);
1245 int afi, int safi, int type, int sub_type, struct prefix_rd *prd,
1263 rn = bgp_afi_node_get (bgp, afi, safi, p, prd);
1267 if (CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_SOFT_RECONFIG)
1278 bgp_rib_withdraw (rn, ri, peer, afi, safi, 0);
1293 bgp_default_originate (struct peer *peer, afi_t afi, safi_t safi, int withdraw)
1311 if (afi == AFI_IP)
1314 else if (afi == AFI_IP6)
1337 if (peer->default_rmap[afi][safi].name)
1342 ret = route_map_apply (peer->default_rmap[afi][safi].map, &p,
1354 if (CHECK_FLAG (peer->af_flags[afi][safi],
1356 bgp_default_withdraw_send (peer, afi, safi);
1357 UNSET_FLAG (peer->af_flags[afi][safi],
1362 SET_FLAG (peer->af_flags[afi][safi], PEER_FLAG_DEFAULT_ORIGINATE_CHECK);
1363 bgp_default_update_send (peer, &attr, afi, safi, from);
1371 bgp_announce_table (struct peer *peer, afi_t afi, safi_t safi,
1379 table = peer->bgp->rib[afi][safi];
1382 && CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_DEFAULT_ORIGINATE))
1383 bgp_default_originate (peer, afi, safi, 0);
1389 if (bgp_announce_check (ri, peer, &rn->p, &attr, afi, safi))
1390 bgp_adj_out_set (rn, peer, &rn->p, &attr, afi, safi, ri);
1392 bgp_adj_out_unset (rn, peer, &rn->p, afi, safi);
1397 bgp_announce_route (struct peer *peer, afi_t afi, safi_t safi)
1405 if (! peer->afc_nego[afi][safi])
1409 if (CHECK_FLAG (peer->af_sflags[afi][safi], PEER_STATUS_ORF_WAIT_REFRESH))
1413 bgp_announce_table (peer, afi, safi, NULL);
1415 for (rn = bgp_table_top (peer->bgp->rib[afi][safi]); rn;
1418 bgp_announce_table (peer, afi, safi, table);
1424 afi_t afi;
1427 for (afi = AFI_IP; afi < AFI_MAX; afi++)
1429 bgp_announce_route (peer, afi, safi);
1434 bgp_soft_reconfig_table (struct peer *peer, afi_t afi, safi_t safi,
1442 table = peer->bgp->rib[afi][safi];
1449 ret = bgp_update (peer, &rn->p, ain->attr, afi, safi,
1463 bgp_soft_reconfig_in (struct peer *peer, afi_t afi, safi_t safi)
1472 bgp_soft_reconfig_table (peer, afi, safi, NULL);
1474 for (rn = bgp_table_top (peer->bgp->rib[afi][safi]); rn;
1477 bgp_soft_reconfig_table (peer, afi, safi, table);
1482 bgp_clear_route_table (struct peer *peer, afi_t afi, safi_t safi,
1491 table = peer->bgp->rib[afi][safi];
1498 bgp_rib_remove (rn, ri, peer, afi, safi);
1511 bgp_adj_out_remove (rn, aout, peer, afi, safi);
1519 bgp_clear_route (struct peer *peer, afi_t afi, safi_t safi)
1524 if (! peer->afc[afi][safi])
1528 bgp_clear_route_table (peer, afi, safi, NULL);
1530 for (rn = bgp_table_top (peer->bgp->rib[afi][safi]); rn;
1533 bgp_clear_route_table (peer, afi, safi, table);
1539 afi_t afi;
1542 for (afi = AFI_IP; afi < AFI_MAX; afi++)
1544 bgp_clear_route (peer, afi, safi);
1548 bgp_clear_adj_in (struct peer *peer, afi_t afi, safi_t safi)
1554 table = peer->bgp->rib[afi][safi];
1634 p.family = afi2family (packet->afi);
1638 if ((packet->afi == AFI_IP && p.prefixlen > 32)
1639 || (packet->afi == AFI_IP6 && p.prefixlen > 128))
1653 if (packet->afi == AFI_IP && packet->safi == SAFI_UNICAST)
1669 if (packet->afi == AFI_IP6 && packet->safi == SAFI_UNICAST)
1686 ret = bgp_update (peer, &p, attr, packet->afi, packet->safi,
1689 ret = bgp_withdraw (peer, &p, attr, packet->afi, packet->safi,
1707 bgp_nlri_sanity_check (struct peer *peer, int afi, u_char *pnt,
1725 if ((afi == AFI_IP && prefixlen > 32)
1726 || (afi == AFI_IP6 && prefixlen > 128))
1787 struct bgp_static *bgp_static, afi_t afi, safi_t safi)
1797 rn = bgp_afi_node_get (bgp, afi, safi, p, NULL);
1821 bgp_static_withdraw (bgp, p, afi, safi);
1848 bgp_aggregate_decrement (bgp, p, ri, afi, safi);
1854 bgp_aggregate_increment (bgp, p, ri, afi, safi);
1855 bgp_process (bgp, rn, afi, safi);
1872 bgp_aggregate_increment (bgp, p, new, afi, safi);
1878 bgp_process (bgp, rn, afi, safi);
1885 bgp_static_update_vpnv4 (struct bgp *bgp, struct prefix *p, u_int16_t afi,
1891 rn = bgp_afi_node_get (bgp, afi, safi, p, prd);
1904 bgp_aggregate_increment (bgp, p, (struct bgp_info *) new, afi, safi);
1910 bgp_process (bgp, rn, afi, safi);
1914 bgp_static_withdraw (struct bgp *bgp, struct prefix *p, afi_t afi,
1920 rn = bgp_afi_node_get (bgp, afi, safi, p, NULL);
1932 bgp_aggregate_decrement (bgp, p, ri, afi, safi);
1934 bgp_process (bgp, rn, afi, safi);
1945 bgp_static_withdraw_vpnv4 (struct bgp *bgp, struct prefix *p, u_int16_t afi,
1951 rn = bgp_afi_node_get (bgp, afi, safi, p, prd);
1963 bgp_aggregate_decrement (bgp, p, ri, afi, safi);
1965 bgp_process (bgp, rn, afi, safi);
1978 bgp_static_set (struct vty *vty, struct bgp *bgp, char *ip_str, u_int16_t afi,
1995 if (afi == AFI_IP6 && IN6_IS_ADDR_LINKLOCAL (&p.u.prefix6))
2006 rn = bgp_node_get (bgp->route[afi][safi], &p);
2059 bgp_static_withdraw (bgp, &p, afi, safi);
2062 bgp_static_update (bgp, &p, bgp_static, afi, safi);
2071 u_int16_t afi, u_char safi)
2086 if (afi == AFI_IP6 && IN6_IS_ADDR_LINKLOCAL (&p.u.prefix6))
2096 rn = bgp_node_lookup (bgp->route[afi][safi], &p);
2108 bgp_static_withdraw (bgp, &p, afi, safi);
2124 afi_t afi;
2131 for (afi = AFI_IP; afi < AFI_MAX; afi++)
2133 for (rn = bgp_table_top (bgp->route[afi][safi]); rn; rn = bgp_route_next (rn))
2155 bgp_static_withdraw (bgp, &rn->p, afi, safi);
2674 afi_t afi, safi_t safi, struct bgp_info *del,
2709 table = bgp->rib[afi][safi];
2787 bgp_process (bgp, rn, afi, safi);
2839 bgp_process (bgp, rn, afi, safi);
2855 struct bgp_info *ri, afi_t afi, safi_t safi)
2871 child = bgp_node_get (bgp->aggregate[afi][safi], p);
2877 bgp_aggregate_delete (bgp, &rn->p, afi, safi, aggregate);
2885 struct bgp_info *del, afi_t afi, safi_t safi)
2898 child = bgp_node_get (bgp->aggregate[afi][safi], p);
2904 bgp_aggregate_delete (bgp, &rn->p, afi, safi, aggregate);
2911 bgp_aggregate_add (struct bgp *bgp, struct prefix *p, afi_t afi, safi_t safi,
2926 table = bgp->rib[afi][safi];
2929 if (afi == AFI_IP && p->prefixlen == IPV4_MAX_BITLEN)
2931 if (afi == AFI_IP6 && p->prefixlen == IPV6_MAX_BITLEN)
2991 bgp_process (bgp, rn, afi, safi);
3011 bgp_process (bgp, rn, afi, safi);
3016 bgp_aggregate_delete (struct bgp *bgp, struct prefix *p, afi_t afi,
3025 table = bgp->rib[afi][safi];
3027 if (afi == AFI_IP && p->prefixlen == IPV4_MAX_BITLEN)
3029 if (afi == AFI_IP6 && p->prefixlen == IPV6_MAX_BITLEN)
3062 bgp_process (bgp, rn, afi, safi);
3079 bgp_process (bgp, rn, afi, safi);
3094 bgp_aggregate_set (struct vty *vty, char *prefix_str, afi_t afi, safi_t safi,
3116 rn = bgp_node_get (bgp->aggregate[afi][safi], &p);
3134 bgp_aggregate_add (bgp, &p, afi, SAFI_UNICAST, aggregate);
3136 bgp_aggregate_add (bgp, &p, afi, SAFI_MULTICAST, aggregate);
3142 bgp_aggregate_unset (struct vty *vty, char *prefix_str, afi_t afi, safi_t safi)
3163 rn = bgp_node_lookup (bgp->aggregate[afi][safi], &p);
3173 bgp_aggregate_delete (bgp, &p, afi, SAFI_UNICAST, aggregate);
3175 bgp_aggregate_delete (bgp, &p, afi, SAFI_MULTICAST, aggregate);
3537 afi_t afi;
3550 afi = family2afi (p->family);
3552 if (bgp->redist[afi][type])
3557 if (bgp->redist_metric_flag[afi][type])
3558 attr_new.med = bgp->redist_metric[afi][type];
3561 if (bgp->rmap[afi][type].map)
3566 ret = route_map_apply (bgp->rmap[afi][type].map, p, RMAP_BGP,
3580 bn = bgp_afi_node_get (bgp, afi, SAFI_UNICAST, p, NULL);
3603 bgp_aggregate_decrement (bgp, p, bi, afi, SAFI_UNICAST);
3609 bgp_aggregate_increment (bgp, p, bi, afi, SAFI_UNICAST);
3610 bgp_process (bgp, bn, afi, SAFI_UNICAST);
3625 bgp_aggregate_increment (bgp, p, new, afi, SAFI_UNICAST);
3627 bgp_process (bgp, bn, afi, SAFI_UNICAST);
3640 afi_t afi;
3646 afi = family2afi (p->family);
3648 if (bgp->redist[afi][type])
3650 rn = bgp_afi_node_get (bgp, afi, SAFI_UNICAST, p, NULL);
3659 bgp_aggregate_decrement (bgp, p, ri, afi, SAFI_UNICAST);
3661 bgp_process (bgp, rn, afi, SAFI_UNICAST);
3673 bgp_redistribute_withdraw (struct bgp *bgp, afi_t afi, int type)
3679 table = bgp->rib[afi][SAFI_UNICAST];
3690 bgp_aggregate_decrement (bgp, &rn->p, ri, afi, SAFI_UNICAST);
3692 bgp_process (bgp, rn, afi, SAFI_UNICAST);
4134 struct bgp_info *binfo, afi_t afi, safi_t safi)
4158 || CHECK_FLAG (binfo->peer->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT)
4159 || CHECK_FLAG (binfo->peer->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT)
4168 if (CHECK_FLAG (binfo->peer->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT))
4170 if (CHECK_FLAG (binfo->peer->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT))
4567 bgp_show (struct vty *vty, char *view_name, afi_t afi, safi_t safi,
4610 table = bgp->rib[afi][safi];
4847 struct prefix_rd *prd, afi_t afi, safi_t safi)
4913 if (bgp_adj_out_lookup (peer, p, afi, safi, rn))
4929 afi_t afi, safi_t safi, struct prefix_rd *prd,
4970 match.family = afi2family (afi);
5008 if ((rn = bgp_node_match (bgp->rib[afi][safi], &match)) != NULL)
5016 route_vty_out_detail_header (vty, bgp, rn, NULL, afi, safi);
5020 route_vty_out_detail (vty, &rn->p, ri, afi, safi);
5360 bgp_show_regexp (struct vty *vty, int argc, char **argv, afi_t afi,
5400 return bgp_show (vty, NULL, afi, safi, type);
5503 bgp_show_prefix_list (struct vty *vty, char *prefix_list_str, afi_t afi,
5508 plist = prefix_list_lookup (afi, prefix_list_str);
5518 return bgp_show (vty, NULL, afi, safi, type);
5621 bgp_show_filter_list (struct vty *vty, char *filter, afi_t afi,
5635 return bgp_show (vty, NULL, afi, safi, type);
5738 bgp_show_route_map (struct vty *vty, char *rmap_str, afi_t afi,
5753 return bgp_show (vty, NULL, afi, safi, type);
5951 u_int16_t afi, u_char safi)
5989 return bgp_show (vty, NULL, afi, safi, bgp_show_type_community_exact);
5991 return bgp_show (vty, NULL, afi, safi, bgp_show_type_community);
6955 u_int16_t afi, u_char safi)
6970 return bgp_show (vty, NULL, afi, safi, bgp_show_type_community_list_exact);
6972 return bgp_show (vty, NULL, afi, safi, bgp_show_type_community_list);
7146 bgp_show_prefix_longer (struct vty *vty, char *prefix, afi_t afi,
7164 return bgp_show (vty, NULL, afi, safi, type);
7292 show_adj_route (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi,
7309 table = bgp->rib[afi][safi];
7313 if (! in && CHECK_FLAG (peer->af_flags[afi][safi],
7381 peer_adj_routes (struct vty *vty, char *ip_str, afi_t afi, safi_t safi, int in)
7394 if (! peer || ! peer->afc[afi][safi])
7400 if (in && ! CHECK_FLAG (peer->af_flags[afi][safi], PEER_FLAG_SOFT_RECONFIG))
7407 show_adj_route (vty, peer, afi, safi, in);
7740 bgp_show_neighbor_route (struct vty *vty, char *ip_str, afi_t afi,
7754 if (! peer || ! peer->afc[afi][safi])
7764 return bgp_show (vty, NULL, afi, safi, type);
8288 afi_t afi, safi_t safi, struct prefix_rd *prd,
8328 match.family = afi2family (afi);
8358 if ((rn = bgp_node_match (bgp->rib[afi][safi], &match)) != NULL)
8444 afi_t afi, safi_t safi, int *write)
8457 for (prn = bgp_table_top (bgp->route[afi][safi]); prn; prn = bgp_route_next (prn))
8466 bgp_config_write_family_header (vty, afi, safi, write);
8485 afi_t afi, safi_t safi, int *write)
8493 if (afi == AFI_IP && safi == SAFI_MPLS_VPN)
8494 return bgp_config_write_network_vpnv4 (vty, bgp, afi, safi, write);
8497 for (rn = bgp_table_top (bgp->route[afi][safi]); rn; rn = bgp_route_next (rn))
8503 bgp_config_write_family_header (vty, afi, safi, write);
8506 if (bgp_option_check (BGP_OPT_CONFIG_CISCO) && afi == AFI_IP)
8542 for (rn = bgp_table_top (bgp->aggregate[afi][safi]); rn; rn = bgp_route_next (rn))
8548 bgp_config_write_family_header (vty, afi, safi, write);
8550 if (bgp_option_check (BGP_OPT_CONFIG_CISCO) && afi == AFI_IP)