@geetanjalimanegslab please open an issue for 7.0 to track reworking this model. Please indicate preliminary work from this PR
Originally posted by @gmuloc in #7336 (comment)
Issue:
The boundary key accepts both IP prefixes (e.g. 239.0.0.0/8) and ACL names (e.g. MCAST-BOUNDARY) as a single string, but they have different EOS ordering requirements:
Prefixes — EOS inserts in random order; sorting in the template is incorrect.
ACL names — EOS is case-sensitive (uppercase before lowercase), requiring natural_sort(sort_key='boundary', ignore_case=False).
Currently no per-type sorting is possible because the input type is ambiguous.
Affected keys
port_channel_interfaces.multicast.{ipv4,ipv6}.boundaries
ethernet_interfaces.multicast.{ipv4,ipv6}.boundaries
Proposed fix (7.0.0)
Deprecate boundary and replace with two explicit keys:
boundary_acls:
- name: <ACL name> # natural_sort(ignore_case=False)
out: <bool>
boundary_prefixes:
- prefix: <IP prefix/mask> # no sort — preserve input order
out: <bool>
@geetanjalimanegslab please open an issue for 7.0 to track reworking this model. Please indicate preliminary work from this PR
Originally posted by @gmuloc in #7336 (comment)
Issue:
The boundary key accepts both IP prefixes (e.g. 239.0.0.0/8) and ACL names (e.g. MCAST-BOUNDARY) as a single string, but they have different EOS ordering requirements:
Prefixes — EOS inserts in random order; sorting in the template is incorrect.
ACL names — EOS is case-sensitive (uppercase before lowercase), requiring natural_sort(sort_key='boundary', ignore_case=False).
Currently no per-type sorting is possible because the input type is ambiguous.
Affected keys
port_channel_interfaces.multicast.{ipv4,ipv6}.boundaries
ethernet_interfaces.multicast.{ipv4,ipv6}.boundaries
Proposed fix (7.0.0)
Deprecate boundary and replace with two explicit keys: