diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/container.go | 50 |
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()) } } } |
