@@ -599,8 +599,8 @@ pub(crate) fn del_group(s: &Switch, group_ip: IpAddr) -> DpdResult<()> {
599
599
delete_multicast_groups (
600
600
s,
601
601
group_ip,
602
- group. external_group_id ( ) ,
603
- group. underlay_group_id ( ) ,
602
+ group. external_group_id . clone ( ) ,
603
+ group. underlay_group_id . clone ( ) ,
604
604
) ?;
605
605
606
606
if let Some ( internal_ip) = nat_target_to_remove {
@@ -1204,10 +1204,11 @@ fn create_multicast_group_ids(
1204
1204
fn delete_multicast_groups (
1205
1205
s : & Switch ,
1206
1206
group_ip : IpAddr ,
1207
- external_group_id : Option < MulticastGroupId > ,
1208
- underlay_group_id : Option < MulticastGroupId > ,
1207
+ external_group_id : Option < ScopedGroupId > ,
1208
+ underlay_group_id : Option < ScopedGroupId > ,
1209
1209
) -> DpdResult < ( ) > {
1210
- if let Some ( external_id) = external_group_id {
1210
+ if let Some ( external_scoped) = external_group_id. as_ref ( ) {
1211
+ let external_id = external_scoped. id ( ) ;
1211
1212
s. asic_hdl . mc_group_destroy ( external_id) . map_err ( |e| {
1212
1213
DpdError :: McastGroupFailure ( format ! (
1213
1214
"failed to delete external multicast group for IP {} with ID {}: {:?}" ,
@@ -1216,7 +1217,8 @@ fn delete_multicast_groups(
1216
1217
} ) ?;
1217
1218
}
1218
1219
1219
- if let Some ( underlay_id) = underlay_group_id {
1220
+ if let Some ( underlay_scoped) = underlay_group_id. as_ref ( ) {
1221
+ let underlay_id = underlay_scoped. id ( ) ;
1220
1222
s. asic_hdl . mc_group_destroy ( underlay_id) . map_err ( |e| {
1221
1223
DpdError :: McastGroupFailure ( format ! (
1222
1224
"failed to delete underlay multicast group for IP {} with ID {}: {:?}" ,
0 commit comments