github.com/cilium/cilium@v1.16.2/pkg/datapath/fake/types/node.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package types 5 6 import ( 7 "context" 8 "net" 9 10 "github.com/cilium/cilium/api/v1/models" 11 datapath "github.com/cilium/cilium/pkg/datapath/types" 12 "github.com/cilium/cilium/pkg/lock" 13 nodeTypes "github.com/cilium/cilium/pkg/node/types" 14 ) 15 16 type FakeNodeHandler struct { 17 mu lock.Mutex 18 Nodes map[string]nodeTypes.Node 19 } 20 21 func (n *FakeNodeHandler) GetNodeID(_ net.IP) (uint16, bool) { 22 return 0, true 23 } 24 25 // NewNodeHandler returns a fake NodeHandler that stores the nodes, 26 // but performs no other actions. 27 func NewNodeHandler() *FakeNodeHandler { 28 return &FakeNodeHandler{Nodes: make(map[string]nodeTypes.Node)} 29 } 30 31 func (n *FakeNodeHandler) Name() string { 32 return "fake-node-handler" 33 } 34 35 func (n *FakeNodeHandler) NodeAdd(newNode nodeTypes.Node) error { 36 n.mu.Lock() 37 defer n.mu.Unlock() 38 n.Nodes[newNode.Name] = newNode 39 return nil 40 } 41 42 func (n *FakeNodeHandler) NodeUpdate(oldNode, newNode nodeTypes.Node) error { 43 n.mu.Lock() 44 defer n.mu.Unlock() 45 n.Nodes[newNode.Name] = newNode 46 return nil 47 } 48 49 func (n *FakeNodeHandler) NodeDelete(node nodeTypes.Node) error { 50 n.mu.Lock() 51 defer n.mu.Unlock() 52 delete(n.Nodes, node.Name) 53 return nil 54 } 55 56 func (n *FakeNodeHandler) AllNodeValidateImplementation() { 57 } 58 59 func (n *FakeNodeHandler) NodeValidateImplementation(node nodeTypes.Node) error { 60 return nil 61 } 62 63 func (n *FakeNodeHandler) NodeConfigurationChanged(config datapath.LocalNodeConfiguration) error { 64 return nil 65 } 66 67 func (n *FakeNodeHandler) NodeNeighDiscoveryEnabled() bool { 68 return false 69 } 70 71 func (n *FakeNodeHandler) NodeNeighborRefresh(ctx context.Context, node nodeTypes.Node, refresh bool) error { 72 return nil 73 } 74 75 func (n *FakeNodeHandler) NodeCleanNeighbors(migrateOnly bool) { 76 } 77 78 func (n *FakeNodeHandler) InsertMiscNeighbor(newNode *nodeTypes.Node) { 79 } 80 81 func (n *FakeNodeHandler) DeleteMiscNeighbor(oldNode *nodeTypes.Node) { 82 } 83 84 func (n *FakeNodeHandler) GetNodeIP(_ uint16) string { 85 return "" 86 } 87 88 func (n *FakeNodeHandler) DumpNodeIDs() []*models.NodeID { 89 return nil 90 } 91 92 func (n *FakeNodeHandler) RestoreNodeIDs() { 93 }