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  }