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

Lines Matching refs:filter

31 #include "filter.h"
547 struct bgp_filter *filter;
550 filter = &peer->filter[afi][safi];
552 /* Clear neighbor filter and route-map */
555 if (filter->dlist[i].name)
557 free (filter->dlist[i].name);
558 filter->dlist[i].name = NULL;
560 if (filter->plist[i].name)
562 free (filter->plist[i].name);
563 filter->plist[i].name = NULL;
565 if (filter->aslist[i].name)
567 free (filter->aslist[i].name);
568 filter->aslist[i].name = NULL;
573 if (filter->map[i].name)
575 free (filter->map[i].name);
576 filter->map[i].name = NULL;
581 if (filter->usmap.name)
582 free (filter->usmap.name);
583 filter->usmap.name = NULL;
584 filter->usmap.map = NULL;
1198 struct bgp_filter *filter;
1288 /* Free filter related memory. */
1292 filter = &peer->filter[afi][safi];
1296 if (filter->dlist[i].name)
1297 free (filter->dlist[i].name);
1298 if (filter->plist[i].name)
1299 free (filter->plist[i].name);
1300 if (filter->aslist[i].name)
1301 free (filter->aslist[i].name);
1303 filter->dlist[i].name = NULL;
1304 filter->plist[i].name = NULL;
1305 filter->aslist[i].name = NULL;
1309 if (filter->map[i].name)
1310 free (filter->map[i].name);
1311 filter->map[i].name = NULL;
1314 if (filter->usmap.name)
1315 free (filter->usmap.name);
1320 filter->usmap.name = NULL;
1420 pfilter = &peer->filter[afi][safi];
1421 gfilter = &conf->filter[afi][safi];
1537 /* inbound filter apply */
1567 /* outbound filter apply */
1856 if (peer->filter[afi][safi].map[RMAP_IMPORT].name)
1858 free (peer->filter[afi][safi].map[RMAP_IMPORT].name);
1859 peer->filter[afi][safi].map[RMAP_IMPORT].name = NULL;
1860 peer->filter[afi][safi].map[RMAP_IMPORT].map = NULL;
1865 && peer->filter[afi][safi].map[RMAP_EXPORT].name)
1867 free (peer->filter[afi][safi].map[RMAP_EXPORT].name);
1868 peer->filter[afi][safi].map[RMAP_EXPORT].name = NULL;
1869 peer->filter[afi][safi].map[RMAP_EXPORT].map = NULL;
3684 struct bgp_filter *filter;
3697 filter = &peer->filter[afi][safi];
3699 if (filter->plist[direct].name)
3702 if (filter->dlist[direct].name)
3703 free (filter->dlist[direct].name);
3704 filter->dlist[direct].name = strdup (name);
3705 filter->dlist[direct].alist = access_list_lookup (afi, name);
3713 filter = &peer->filter[afi][safi];
3718 if (filter->dlist[direct].name)
3719 free (filter->dlist[direct].name);
3720 filter->dlist[direct].name = strdup (name);
3721 filter->dlist[direct].alist = access_list_lookup (afi, name);
3730 struct bgp_filter *filter;
3744 filter = &peer->filter[afi][safi];
3746 /* apply peer-group filter */
3749 gfilter = &peer->group->conf->filter[afi][safi];
3753 if (filter->dlist[direct].name)
3754 free (filter->dlist[direct].name);
3755 filter->dlist[direct].name = strdup (gfilter->dlist[direct].name);
3756 filter->dlist[direct].alist = gfilter->dlist[direct].alist;
3761 if (filter->dlist[direct].name)
3762 free (filter->dlist[direct].name);
3763 filter->dlist[direct].name = NULL;
3764 filter->dlist[direct].alist = NULL;
3772 filter = &peer->filter[afi][safi];
3777 if (filter->dlist[direct].name)
3778 free (filter->dlist[direct].name);
3779 filter->dlist[direct].name = NULL;
3780 filter->dlist[direct].alist = NULL;
3798 struct bgp_filter *filter;
3807 filter = &peer->filter[afi][safi];
3811 if (filter->dlist[direct].name)
3812 filter->dlist[direct].alist =
3813 access_list_lookup (afi, filter->dlist[direct].name);
3815 filter->dlist[direct].alist = NULL;
3824 filter = &group->conf->filter[afi][safi];
3828 if (filter->dlist[direct].name)
3829 filter->dlist[direct].alist =
3830 access_list_lookup (afi, filter->dlist[direct].name);
3832 filter->dlist[direct].alist = NULL;
3844 struct bgp_filter *filter;
3857 filter = &peer->filter[afi][safi];
3859 if (filter->dlist[direct].name)
3862 if (filter->plist[direct].name)
3863 free (filter->plist[direct].name);
3864 filter->plist[direct].name = strdup (name);
3865 filter->plist[direct].plist = prefix_list_lookup (afi, name);
3873 filter = &peer->filter[afi][safi];
3878 if (filter->plist[direct].name)
3879 free (filter->plist[direct].name);
3880 filter->plist[direct].name = strdup (name);
3881 filter->plist[direct].plist = prefix_list_lookup (afi, name);
3889 struct bgp_filter *filter;
3903 filter = &peer->filter[afi][safi];
3905 /* apply peer-group filter */
3908 gfilter = &peer->group->conf->filter[afi][safi];
3912 if (filter->plist[direct].name)
3913 free (filter->plist[direct].name);
3914 filter->plist[direct].name = strdup (gfilter->plist[direct].name);
3915 filter->plist[direct].plist = gfilter->plist[direct].plist;
3920 if (filter->plist[direct].name)
3921 free (filter->plist[direct].name);
3922 filter->plist[direct].name = NULL;
3923 filter->plist[direct].plist = NULL;
3931 filter = &peer->filter[afi][safi];
3936 if (filter->plist[direct].name)
3937 free (filter->plist[direct].name);
3938 filter->plist[direct].name = NULL;
3939 filter->plist[direct].plist = NULL;
3954 struct bgp_filter *filter;
3966 filter = &peer->filter[afi][safi];
3970 if (filter->plist[direct].name)
3971 filter->plist[direct].plist =
3972 prefix_list_lookup (afi, filter->plist[direct].name);
3974 filter->plist[direct].plist = NULL;
3983 filter = &group->conf->filter[afi][safi];
3987 if (filter->plist[direct].name)
3988 filter->plist[direct].plist =
3989 prefix_list_lookup (afi, filter->plist[direct].name);
3991 filter->plist[direct].plist = NULL;
4002 struct bgp_filter *filter;
4015 filter = &peer->filter[afi][safi];
4017 if (filter->aslist[direct].name)
4018 free (filter->aslist[direct].name);
4019 filter->aslist[direct].name = strdup (name);
4020 filter->aslist[direct].aslist = as_list_lookup (name);
4028 filter = &peer->filter[afi][safi];
4033 if (filter->aslist[direct].name)
4034 free (filter->aslist[direct].name);
4035 filter->aslist[direct].name = strdup (name);
4036 filter->aslist[direct].aslist = as_list_lookup (name);
4044 struct bgp_filter *filter;
4058 filter = &peer->filter[afi][safi];
4060 /* apply peer-group filter */
4063 gfilter = &peer->group->conf->filter[afi][safi];
4067 if (filter->aslist[direct].name)
4068 free (filter->aslist[direct].name);
4069 filter->aslist[direct].name = strdup (gfilter->aslist[direct].name);
4070 filter->aslist[direct].aslist = gfilter->aslist[direct].aslist;
4075 if (filter->aslist[direct].name)
4076 free (filter->aslist[direct].name);
4077 filter->aslist[direct].name = NULL;
4078 filter->aslist[direct].aslist = NULL;
4086 filter = &peer->filter[afi][safi];
4091 if (filter->aslist[direct].name)
4092 free (filter->aslist[direct].name);
4093 filter->aslist[direct].name = NULL;
4094 filter->aslist[direct].aslist = NULL;
4111 struct bgp_filter *filter;
4120 filter = &peer->filter[afi][safi];
4124 if (filter->aslist[direct].name)
4125 filter->aslist[direct].aslist =
4126 as_list_lookup (filter->aslist[direct].name);
4128 filter->aslist[direct].aslist = NULL;
4137 filter = &group->conf->filter[afi][safi];
4141 if (filter->aslist[direct].name)
4142 filter->aslist[direct].aslist =
4143 as_list_lookup (filter->aslist[direct].name);
4145 filter->aslist[direct].aslist = NULL;
4157 struct bgp_filter *filter;
4172 filter = &peer->filter[afi][safi];
4174 if (filter->map[direct].name)
4175 free (filter->map[direct].name);
4177 filter->map[direct].name = strdup (name);
4178 filter->map[direct].map = route_map_lookup_by_name (name);
4186 filter = &peer->filter[afi][safi];
4191 if (filter->map[direct].name)
4192 free (filter->map[direct].name);
4193 filter->map[direct].name = strdup (name);
4194 filter->map[direct].map = route_map_lookup_by_name (name);
4203 struct bgp_filter *filter;
4219 filter = &peer->filter[afi][safi];
4221 /* apply peer-group filter */
4224 gfilter = &peer->group->conf->filter[afi][safi];
4228 if (filter->map[direct].name)
4229 free (filter->map[direct].name);
4230 filter->map[direct].name = strdup (gfilter->map[direct].name);
4231 filter->map[direct].map = gfilter->map[direct].map;
4236 if (filter->map[direct].name)
4237 free (filter->map[direct].name);
4238 filter->map[direct].name = NULL;
4239 filter->map[direct].map = NULL;
4247 filter = &peer->filter[afi][safi];
4252 if (filter->map[direct].name)
4253 free (filter->map[direct].name);
4254 filter->map[direct].name = NULL;
4255 filter->map[direct].map = NULL;
4265 struct bgp_filter *filter;
4275 filter = &peer->filter[afi][safi];
4277 if (filter->usmap.name)
4278 free (filter->usmap.name);
4280 filter->usmap.name = strdup (name);
4281 filter->usmap.map = route_map_lookup_by_name (name);
4289 filter = &peer->filter[afi][safi];
4294 if (filter->usmap.name)
4295 free (filter->usmap.name);
4296 filter->usmap.name = strdup (name);
4297 filter->usmap.map = route_map_lookup_by_name (name);
4306 struct bgp_filter *filter;
4316 filter = &peer->filter[afi][safi];
4318 if (filter->usmap.name)
4319 free (filter->usmap.name);
4320 filter->usmap.name = NULL;
4321 filter->usmap.map = NULL;
4329 filter = &peer->filter[afi][safi];
4334 if (filter->usmap.name)
4335 free (filter->usmap.name);
4336 filter->usmap.name = NULL;
4337 filter->usmap.map = NULL;
4625 struct bgp_filter *filter = &peer->filter[afi][safi];
4633 if (filter->plist[FILTER_IN].plist)
4723 struct bgp_filter *filter;
4730 filter = &peer->filter[afi][safi];
4732 gfilter = &peer->group->conf->filter[afi][safi];
4735 if (filter->dlist[in].name)
4737 || strcmp (filter->dlist[in].name, gfilter->dlist[in].name) != 0)
4739 filter->dlist[in].name, VTY_NEWLINE);
4740 if (filter->dlist[out].name && ! gfilter)
4742 filter->dlist[out].name, VTY_NEWLINE);
4745 if (filter->plist[in].name)
4747 || strcmp (filter->plist[in].name, gfilter->plist[in].name) != 0)
4749 filter->plist[in].name, VTY_NEWLINE);
4750 if (filter->plist[out].name && ! gfilter)
4752 filter->plist[out].name, VTY_NEWLINE);
4755 if (filter->map[RMAP_IN].name)
4757 || strcmp (filter->map[RMAP_IN].name, gfilter->map[RMAP_IN].name) != 0)
4759 filter->map[RMAP_IN].name, VTY_NEWLINE);
4760 if (filter->map[RMAP_OUT].name && ! gfilter)
4762 filter->map[RMAP_OUT].name, VTY_NEWLINE);
4763 if (filter->map[RMAP_IMPORT].name && ! gfilter)
4765 filter->map[RMAP_IMPORT].name, VTY_NEWLINE);
4766 if (filter->map[RMAP_EXPORT].name)
4768 || strcmp (filter->map[RMAP_EXPORT].name,
4771 filter->map[RMAP_EXPORT].name, VTY_NEWLINE);
4774 if (filter->usmap.name && ! gfilter)
4776 filter->usmap.name, VTY_NEWLINE);
4778 /* filter-list. */
4779 if (filter->aslist[in].name)
4781 || strcmp (filter->aslist[in].name, gfilter->aslist[in].name) != 0)
4782 vty_out (vty, " neighbor %s filter-list %s in%s", addr,
4783 filter->aslist[in].name, VTY_NEWLINE);
4784 if (filter->aslist[out].name && ! gfilter)
4785 vty_out (vty, " neighbor %s filter-list %s out%s", addr,
4786 filter->aslist[out].name, VTY_NEWLINE);