IXPs may have a longer list of VLANs on their infrastructure, and for many good reasons (documentation, config generation, ...) would like to be 100% complete in documenting all VLANs in IXP Manager. However, some of these VLANs may be used for very specific other services or use cases, which the IXP may not want to export in the IX-F JSON. Let's call these VLANs non-peering VLANs.
This PR implements an EXCLUDE option that works exactly the same way as the other pre-existing EXCLUDE options, allowing to exclude certain VLANs when walking the list of configured VLANs on member VIs.
In addition to the above, I have:
[x] not checked the below because AFAICT my changes have no relevance to the three items
[ ] ensured all relevant template output is escaped to avoid XSS attached with <?= $t->ee( $data ) ?> or equivalent.
[ ] ensured appropriate checks against user privilege / resources accessed
[ ] API calls (particular for add/edit/delete/toggle) are not implemented with GET and use CSRF tokens to avoid CSRF attacks
[NF] IX-F export: allow excluding VLANs - closes inex/IXP-Manager#881
IXPs may have a longer list of VLANs on their infrastructure, and for many good reasons (documentation, config generation, ...) would like to be 100% complete in documenting all VLANs in IXP Manager. However, some of these VLANs may be used for very specific other services or use cases, which the IXP may not want to export in the IX-F JSON. Let's call these VLANs non-peering VLANs.
This PR implements an EXCLUDE option that works exactly the same way as the other pre-existing EXCLUDE options, allowing to exclude certain VLANs when walking the list of configured VLANs on member VIs.
In addition to the above, I have:
[x] not checked the below because AFAICT my changes have no relevance to the three items
[ ] ensured all relevant template output is escaped to avoid XSS attached with
<?= $t->ee( $data ) ?>
or equivalent.[ ] ensured appropriate checks against user privilege / resources accessed
[ ] API calls (particular for add/edit/delete/toggle) are not implemented with GET and use CSRF tokens to avoid CSRF attacks