github.com/openshift/dpu-operator@v0.0.0-20240502153209-3af840d137c2/dpu-cni/example/cniserver_main.go (about) 1 package main 2 3 import ( 4 "errors" 5 "fmt" 6 7 cni100 "github.com/containernetworking/cni/pkg/types/100" 8 "github.com/openshift/dpu-operator/dpu-cni/pkgs/cniserver" 9 "github.com/openshift/dpu-operator/dpu-cni/pkgs/cnitypes" 10 "github.com/openshift/dpu-operator/dpu-cni/pkgs/networkfn" 11 "k8s.io/klog/v2" 12 ) 13 14 // This server implementations is only temporary for testing when the DPU Daemon 15 // code has not been implemented. 16 17 // FIXME: This will disappear in the near future 18 func cniCmdNfAddHandler(req *cnitypes.PodRequest) (*cni100.Result, error) { 19 klog.Info("cniCmdNfAddHandler") 20 res, err := networkfn.CmdAdd(req) 21 if err != nil { 22 return nil, fmt.Errorf("SRIOV manager failed in add handler: %v", err) 23 } 24 return res, nil 25 } 26 27 func cniCmdNfDelHandler(req *cnitypes.PodRequest) (*cni100.Result, error) { 28 klog.Info("cniCmdNfDelHandler") 29 err := networkfn.CmdDel(req) 30 if err != nil { 31 return nil, errors.New("SRIOV manager failed in del handler") 32 } 33 return nil, nil 34 } 35 36 func main() { 37 host := false 38 if !host { 39 // Test NF CNI 40 err := cniserver.NewCNIServer(cniCmdNfAddHandler, cniCmdNfDelHandler).ListenAndServe() 41 if err != nil { 42 klog.Errorf("DPU CNI server Serve() failed: %v", err) 43 } 44 } 45 }