Skip to content

Refactor: multicast.boundaries — sorting is broken for mixed ACL/prefix inputs on port-channel and ethernet interfaces #7433

Description

@geetanjalimanegslab

@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>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions