• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/quagga/bgpd/

Lines Matching refs:group

657   /* Peer-group */
665 peer1 = listnode_head (peer->group->peer);
983 /* When this peer is a member of peer-group. */
984 if (peer->group)
986 if (peer->group->conf->as)
988 /* Return peer group's AS number. */
989 *as = peer->group->conf->as;
992 if (peer_sort (peer->group->conf) == BGP_PEER_IBGP)
1039 /* Activate the peer or peer group for specified AFI and SAFI. */
1090 struct peer_group *group;
1096 group = peer->group;
1098 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer1))
1208 /* If this peer belongs to peer group, clear up the
1210 if (peer->group)
1212 if ((pn = listnode_lookup (peer->group->peer, peer)))
1214 peer = peer_unlock (peer); /* group->peer list reference */
1215 list_delete_node (peer->group->peer, pn);
1217 peer->group = NULL;
1348 /* Peer group cofiguration. */
1357 peer_group_free (struct peer_group *group)
1359 XFREE (MTYPE_PEER_GROUP, group);
1365 struct peer_group *group;
1368 for (ALL_LIST_ELEMENTS (bgp->group, node, nnode, group))
1370 if (strcmp (group->name, name) == 0)
1371 return group;
1379 struct peer_group *group;
1381 group = peer_group_lookup (bgp, name);
1382 if (group)
1383 return group;
1385 group = peer_group_new ();
1386 group->bgp = bgp;
1387 group->name = strdup (name);
1388 group->peer = list_new ();
1389 group->conf = peer_new (bgp);
1391 group->conf->afc[AFI_IP][SAFI_UNICAST] = 1;
1392 group->conf->host = XSTRDUP (MTYPE_BGP_PEER_HOST, name);
1393 group->conf->group = group;
1394 group->conf->as = 0;
1395 group->conf->ttl = 1;
1396 group->conf->gtsm_hops = 0;
1397 group->conf->v_routeadv = BGP_DEFAULT_EBGP_ROUTEADV;
1398 UNSET_FLAG (group->conf->config, PEER_CONFIG_TIMER);
1399 UNSET_FLAG (group->conf->config, PEER_CONFIG_CONNECT);
1400 group->conf->keepalive = 0;
1401 group->conf->holdtime = 0;
1402 group->conf->connect = 0;
1403 SET_FLAG (group->conf->sflags, PEER_STATUS_GROUP);
1404 listnode_add_sort (bgp->group, group);
1410 peer_group2peer_config_copy (struct peer_group *group, struct peer *peer,
1419 conf = group->conf;
1479 /* Make peer's RIB point to group's RIB. */
1480 peer->rib[afi][safi] = group->conf->rib[afi][safi];
1664 /* Peer group's remote AS configuration. */
1668 struct peer_group *group;
1672 group = peer_group_lookup (bgp, group_name);
1673 if (! group)
1676 if (group->conf->as == *as)
1679 /* When we setup peer-group AS number all peer group member's AS
1681 peer_as_change (group->conf, *as);
1683 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
1693 peer_group_delete (struct peer_group *group)
1699 bgp = group->bgp;
1701 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
1703 peer->group = NULL;
1706 list_delete (group->peer);
1708 free (group->name);
1709 group->name = NULL;
1711 group->conf->group = NULL;
1712 peer_delete (group->conf);
1715 listnode_delete (bgp->group, group);
1717 peer_group_free (group);
1723 peer_group_remote_as_delete (struct peer_group *group)
1728 if (! group->conf->as)
1731 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
1733 peer->group = NULL;
1736 list_delete_all_node (group->peer);
1738 group->conf->as = 0;
1743 /* Bind specified peer to peer group. */
1746 struct peer_group *group, afi_t afi, safi_t safi, as_t *as)
1751 /* Check peer group's address family. */
1752 if (! group->conf->afc[afi][safi])
1761 if (! group->conf->as)
1764 peer = peer_create (su, bgp, bgp->as, group->conf->as, afi, safi);
1765 peer->group = group;
1768 peer = peer_lock (peer); /* group->peer list reference */
1769 listnode_add (group->peer, peer);
1770 peer_group2peer_config_copy (group, peer, afi, safi);
1775 /* When the peer already belongs to peer group, check the consistency. */
1778 if (strcmp (peer->group->name, group->name) != 0)
1784 /* Check current peer group configuration. */
1786 && strcmp (peer->group->name, group->name) != 0)
1789 if (! group->conf->as)
1791 if (peer_sort (group->conf) != BGP_PEER_INTERNAL
1792 && peer_sort (group->conf) != peer_sort (peer))
1799 if (peer_sort (group->conf) == BGP_PEER_INTERNAL)
1805 if (! peer->group)
1807 peer->group = group;
1809 peer = peer_lock (peer); /* group->peer list reference */
1810 listnode_add (group->peer, peer);
1813 assert (group && peer->group == group);
1818 if (peer_sort (group->conf) == BGP_PEER_IBGP)
1819 group->conf->v_routeadv = BGP_DEFAULT_IBGP_ROUTEADV;
1821 group->conf->v_routeadv = BGP_DEFAULT_EBGP_ROUTEADV;
1824 if (peer_sort (group->conf) == BGP_PEER_IBGP)
1825 group->conf->ttl = 255;
1828 if (peer_sort (group->conf) != BGP_PEER_EBGP)
1830 group->conf->change_local_as = 0;
1864 if (! CHECK_FLAG(group->conf->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT)
1873 peer_group2peer_config_copy (group, peer, afi, safi);
1889 struct peer_group *group, afi_t afi, safi_t safi)
1894 if (group != peer->group)
1906 assert (listnode_lookup (group->peer, peer));
1907 peer_unlock (peer); /* peer group list reference */
1908 listnode_delete (group->peer, peer);
1909 peer->group = NULL;
1910 if (group->conf->as)
1960 bgp->group = list_new ();
1961 bgp->group->cmp = (int (*)(void *, void *)) peer_group_cmp;
2100 struct peer_group *group;
2128 for (ALL_LIST_ELEMENTS (bgp->group, node, next, group))
2130 for (ALL_LIST_ELEMENTS (group->peer, node, next, peer))
2138 peer_group_delete (group);
2182 list_delete (bgp->group);
2337 /* This flag can be set for peer-group member. */
2485 struct peer_group *group;
2498 /* Not for peer-group member. */
2502 /* When unset the peer-group member's flag we have to check
2503 peer-group configuration. */
2505 if (CHECK_FLAG (peer->group->conf->flags, flag))
2540 /* peer-group member updates. */
2541 group = peer->group;
2543 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
2589 struct peer_group *group;
2605 /* Not for peer-group member. */
2619 /* When unset the peer-group member's flag we have to check
2620 peer-group configuration. */
2622 if (CHECK_FLAG (peer->group->conf->af_flags[afi][safi], flag))
2661 /* Peer group member updates. */
2664 group = peer->group;
2666 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
2721 struct peer_group *group;
2733 group = peer->group;
2734 if (group->conf->gtsm_hops != 0)
2737 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer1))
2762 group = peer->group;
2763 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
2768 peer->ttl = group->conf->ttl;
2780 struct peer_group *group;
2790 peer->ttl = peer->group->conf->ttl;
2801 group = peer->group;
2802 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
2843 struct peer_group *group;
2877 /* peer-group member updates. */
2878 group = peer->group;
2879 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
2913 struct peer_group *group;
2946 /* peer-group member updates. */
2947 group = peer->group;
2948 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
2982 struct peer_group *group;
3003 group = peer->group;
3005 if (group->conf->update_source)
3007 su = sockunion_dup (group->conf->update_source);
3010 else if (group->conf->update_if)
3012 XSTRDUP (MTYPE_PEER_UPDATE_SOURCE, group->conf->update_if);
3028 /* peer-group member updates. */
3029 group = peer->group;
3030 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3063 struct peer_group *group;
3070 /* Default originate can't be used for peer group memeber. */
3096 /* peer-group member updates. */
3097 group = peer->group;
3098 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3119 struct peer_group *group;
3126 /* Default originate can't be used for peer group memeber. */
3147 /* peer-group member updates. */
3148 group = peer->group;
3149 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3182 struct peer_group *group;
3191 /* peer-group member updates. */
3192 group = peer->group;
3193 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3195 peer->weight = group->conf->weight;
3203 struct peer_group *group;
3208 peer->weight = peer->group->conf->weight;
3217 /* peer-group member updates. */
3218 group = peer->group;
3219 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3229 struct peer_group *group;
3232 /* Not for peer group memeber. */
3256 /* peer-group member updates. */
3257 group = peer->group;
3258 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3261 peer->holdtime = group->conf->holdtime;
3262 peer->keepalive = group->conf->keepalive;
3270 struct peer_group *group;
3284 /* peer-group member updates. */
3285 group = peer->group;
3286 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3389 struct peer_group *group;
3405 group = peer->group;
3406 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3422 struct peer_group *group;
3434 group = peer->group;
3435 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3450 struct peer_group *group;
3498 group = peer->group;
3499 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3528 struct peer_group *group;
3555 group = peer->group;
3556 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3604 for (ALL_LIST_ELEMENTS (peer->group->peer, nn, nnode, peer))
3638 && peer->group->conf->password
3639 && strcmp (peer->group->conf->password, peer->password) == 0)
3660 for (ALL_LIST_ELEMENTS (peer->group->peer, nn, nnode, peer))
3685 struct peer_group *group;
3710 group = peer->group;
3711 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3732 struct peer_group *group;
3746 /* apply peer-group filter */
3749 gfilter = &peer->group->conf->filter[afi][safi];
3769 group = peer->group;
3770 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3797 struct peer_group *group;
3819 for (ALL_LIST_ELEMENTS (bgp->group, node, nnode, group))
3824 filter = &group->conf->filter[afi][safi];
3845 struct peer_group *group;
3870 group = peer->group;
3871 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3891 struct peer_group *group;
3905 /* apply peer-group filter */
3908 gfilter = &peer->group->conf->filter[afi][safi];
3928 group = peer->group;
3929 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
3953 struct peer_group *group;
3978 for (ALL_LIST_ELEMENTS (bgp->group, node, nnode, group))
3983 filter = &group->conf->filter[afi][safi];
4003 struct peer_group *group;
4025 group = peer->group;
4026 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4046 struct peer_group *group;
4060 /* apply peer-group filter */
4063 gfilter = &peer->group->conf->filter[afi][safi];
4083 group = peer->group;
4084 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4110 struct peer_group *group;
4132 for (ALL_LIST_ELEMENTS (bgp->group, node, nnode, group))
4137 filter = &group->conf->filter[afi][safi];
4158 struct peer_group *group;
4183 group = peer->group;
4184 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4205 struct peer_group *group;
4221 /* apply peer-group filter */
4224 gfilter = &peer->group->conf->filter[afi][safi];
4244 group = peer->group;
4245 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4266 struct peer_group *group;
4286 group = peer->group;
4287 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4307 struct peer_group *group;
4326 group = peer->group;
4327 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4347 struct peer_group *group;
4365 group = peer->group;
4366 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4386 struct peer_group *group;
4392 /* apply peer-group config */
4395 if (CHECK_FLAG (peer->group->conf->af_flags[afi][safi],
4401 if (CHECK_FLAG (peer->group->conf->af_flags[afi][safi],
4407 peer->pmax[afi][safi] = peer->group->conf->pmax[afi][safi];
4408 peer->pmax_threshold[afi][safi] = peer->group->conf->pmax_threshold[afi][safi];
4409 peer->pmax_restart[afi][safi] = peer->group->conf->pmax_restart[afi][safi];
4422 group = peer->group;
4423 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4439 struct peer_group *group;
4445 group = peer->group;
4447 (group->conf->ttl != 1))
4450 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer1))
4470 struct peer_group *group;
4478 slightly messy, because we need to check both the peer-group structure
4479 and all peer-group members for any trace of ebgp-multihop configuration
4505 group = peer->group;
4506 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4508 peer->gtsm_hops = group->conf->gtsm_hops;
4536 struct peer_group *group;
4542 /* if a peer-group member, then reset to peer-group default rather than 0 */
4544 peer->gtsm_hops = peer->group->conf->gtsm_hops;
4556 group = peer->group;
4557 for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
4732 gfilter = &peer->group->conf->filter[afi][safi];
4800 g_peer = peer->group->conf;
4811 vty_out (vty, " neighbor %s peer-group%s", addr,
4823 vty_out (vty, " neighbor %s peer-group %s%s", addr,
4824 peer->group->name, VTY_NEWLINE);
4979 vty_out (vty, " neighbor %s peer-group %s%s", addr,
4980 peer->group->name, VTY_NEWLINE);
5172 struct peer_group *group;
5179 for (ALL_LIST_ELEMENTS (bgp->group, node, nnode, group))
5181 if (group->conf->afc[afi][safi])
5184 bgp_config_write_peer (vty, bgp, group->conf, afi, safi);
5212 struct peer_group *group;
5364 /* peer-group */
5365 for (ALL_LIST_ELEMENTS (bgp->group, node, nnode, group))
5367 bgp_config_write_peer (vty, bgp, group->conf, AFI_IP, SAFI_UNICAST);