Skip to content

Commit ed9e5c3

Browse files
committed
bpf prog to clean up cilium at pri 1
1 parent 423a1c7 commit ed9e5c3

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

bpf-prog/ipv6-hp-bpf/pkg/egress/egress.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ func SetupEgressFilter(ifaceIndex int, objs *EgressObjects, logger *zap.Logger)
3232
}
3333
break
3434
}
35+
// Delete the old filter for cilium if priority is 1. This is to avoid duplicate filters after restarting the daemonset in the
36+
// singlestack -> dualstack migration scenario.
37+
if filter, ok := filter.(*netlink.BpfFilter); ok && filter.Name == "cil_to_netdev-eth0" && filter.Priority == 1 {
38+
if err := netlink.FilterDel(filter); err != nil {
39+
logger.Error("Failed to delete filter", zap.Error(err))
40+
return err
41+
}
42+
break
43+
}
3544
}
3645

3746
egressFilter := &netlink.BpfFilter{

bpf-prog/ipv6-hp-bpf/pkg/ingress/ingress.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ func SetupIngressFilter(ifaceIndex int, objs *IngressObjects, logger *zap.Logger
3232
}
3333
break
3434
}
35+
// Delete the old filter for cilium if priority is 1. This is to avoid duplicate filters after restarting the daemonset in the
36+
// singlestack -> dualstack migration scenario.
37+
if filter, ok := filter.(*netlink.BpfFilter); ok && filter.Name == "cil_from_netdev-eth0" && filter.Priority == 1 {
38+
if err := netlink.FilterDel(filter); err != nil {
39+
logger.Error("Failed to delete filter", zap.Error(err))
40+
return err
41+
}
42+
break
43+
}
3544
}
3645

3746
ingressFilter := &netlink.BpfFilter{

0 commit comments

Comments
 (0)