github.com/cilium/cilium@v1.16.2/pkg/maps/l2respondermap/l2_responder_map4_fake.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package l2respondermap 5 6 import ( 7 "net/netip" 8 ) 9 10 func NewFakeMap() Map { 11 return &fakeMap{entries: make(map[L2ResponderKey]L2ResponderStats)} 12 } 13 14 type fakeMap struct { 15 entries map[L2ResponderKey]L2ResponderStats 16 } 17 18 func (fm *fakeMap) Create(ip netip.Addr, ifIndex uint32) error { 19 fm.entries[newL2ResponderKey(ip, ifIndex)] = L2ResponderStats{} 20 return nil 21 } 22 23 func (fm *fakeMap) Lookup(ip netip.Addr, ifIndex uint32) (*L2ResponderStats, error) { 24 entry, found := fm.entries[newL2ResponderKey(ip, ifIndex)] 25 if found { 26 return &entry, nil 27 } 28 29 return nil, nil 30 } 31 32 func (fm *fakeMap) Delete(ip netip.Addr, ifIndex uint32) error { 33 delete(fm.entries, newL2ResponderKey(ip, ifIndex)) 34 return nil 35 } 36 37 func (fm *fakeMap) IterateWithCallback(cb IterateCallback) error { 38 for k, v := range fm.entries { 39 cb(&k, &v) 40 } 41 42 return nil 43 }