summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/container.go50
1 files changed, 19 insertions, 31 deletions
diff --git a/lib/container.go b/lib/container.go
index 3ecb5b0e..b08cbc13 100644
--- a/lib/container.go
+++ b/lib/container.go
@@ -232,41 +232,29 @@ func (c *container) lookup(addrOrPrefix any, iptype IPType, searchList ...string
continue
}
+ var ipset *netipx.IPSet
+ var err error
switch iptype {
case IPv4:
- ipset, err := entry.GetIPv4Set()
- if err != nil {
- return nil, false, err
- }
- switch addrOrPrefix := addrOrPrefix.(type) {
- case netip.Prefix:
- if found := ipset.ContainsPrefix(addrOrPrefix); found {
- isfound = true
- result = append(result, entry.GetName())
- }
- case netip.Addr:
- if found := ipset.Contains(addrOrPrefix); found {
- isfound = true
- result = append(result, entry.GetName())
- }
- }
-
+ ipset, err = entry.GetIPv4Set()
case IPv6:
- ipset, err := entry.GetIPv6Set()
- if err != nil {
- return nil, false, err
+ ipset, err = entry.GetIPv6Set()
+ }
+
+ if err != nil {
+ return nil, false, err
+ }
+
+ switch addrOrPrefix := addrOrPrefix.(type) {
+ case netip.Prefix:
+ if found := ipset.ContainsPrefix(addrOrPrefix); found {
+ isfound = true
+ result = append(result, entry.GetName())
}
- switch addrOrPrefix := addrOrPrefix.(type) {
- case netip.Prefix:
- if found := ipset.ContainsPrefix(addrOrPrefix); found {
- isfound = true
- result = append(result, entry.GetName())
- }
- case netip.Addr:
- if found := ipset.Contains(addrOrPrefix); found {
- isfound = true
- result = append(result, entry.GetName())
- }
+ case netip.Addr:
+ if found := ipset.Contains(addrOrPrefix); found {
+ isfound = true
+ result = append(result, entry.GetName())
}
}
}