Skip to content

Commit

Permalink
yang: Improve must expressions for multicast-filters
Browse files Browse the repository at this point in the history
Add a must expression to limit invalid configurations.
Not belonging to VLAN when added to a multicast-filter in
that VLAN. Make sure multicast snooping is enabled when
using multicast filters.

This fixes #587

Signed-off-by: Mattias Walström <lazzer@gmail.com>
  • Loading branch information
mattiaswal committed Aug 29, 2024
1 parent b787efa commit 20a263a
Showing 1 changed file with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ submodule infix-if-bridge {
contact "kernelkit@googlegroups.com";
description "Linux bridge extension for ietf-interfaces.";

revision 2024-08-26 {
description "Improve must expressions for multicast.
Add a must expression forcing a port in a dot1q multicast-filter
to also belong to the VLAN. Also add must expression (for both
8021d and 8021q) to force snooping to be anabled when enable
multicast-filters";
reference "internal";
}
revision 2024-03-28 {
description "Rename mdb -> multicast-filters.
Expand Down Expand Up @@ -386,6 +395,13 @@ submodule infix-if-bridge {
}
}
}
deviation "/if:interfaces/if:interface/infix-if:bridge/type/ieee8021d/multicast-filters/multicast-filter" {
deviate add {
must "../../multicast/snooping = 'true'" {
error-message "Multicast snooping is required when configure multicast-filters ";
}
}
}

deviation "/if:interfaces/if:interface/infix-if:bridge/type/ieee8021q/vlans/vlan/multicast-filters/multicast-filter/ports/port" {
deviate add {
Expand All @@ -395,6 +411,20 @@ submodule infix-if-bridge {
}
}
}
deviation "/if:interfaces/if:interface/infix-if:bridge/type/ieee8021q/vlans/vlan/multicast-filters/multicast-filter/ports/port" {
deviate add {
must "(../../../../untagged[contains(., current())]) or (../../../../tagged[contains(., current())])" {
error-message "Port is not member of of VLAN";
}
}
}
deviation "/if:interfaces/if:interface/infix-if:bridge/type/ieee8021q/vlans/vlan/multicast-filters/multicast-filter" {
deviate add {
must "../../multicast/snooping = 'true'" {
error-message "Multicast snooping is required when configure multicast-filters ";
}
}
}

deviation "/if:interfaces/if:interface/ip:ipv4/ip:enabled" {
deviate add {
Expand Down

0 comments on commit 20a263a

Please sign in to comment.