return &cniError, nil
}
-// CNIop generates result to a CNImsg
-func (s *CNIServer) CNIop(ctx context.Context, in *CNImsg) (*CNIresult, error) {
-
- confPath := in.ConfigPath
-
- if confPath != nil {
- if confPath.NetDir != "" {
- log.Printf("Receive message NetDir: %s", confPath.NetDir)
- }
- if confPath.NetConf != "" {
- log.Printf("Receive message NetConf: %s", confPath.NetConf)
- }
- }
-
- log.Printf("Receive message ContainerID: %s", in.ContainerID)
- log.Printf("Receive message NetNS: %s", in.NetNS)
- log.Printf("Receive message IfName: %s", in.IfName)
- log.Printf("Receive message StdIn: %s", in.StdIn)
- log.Printf("Receive message CniArgs: %s", in.CniArgs)
-
- cniResult := CNIresult{
- Cmd: in.Cmd,
- StdOut: "stdOutStringHere",
- }
-
- log.Printf("Response from server: %s", cniResult.StdOut)
- return &cniResult, nil
-}
-
// CNIadd generates result to a CNIaddMsg
func (s *CNIServer) CNIadd(ctx context.Context, in *CNIaddMsg) (*ADDresult, error) {
return &netconf, rt, cninet, nil
}
-
-/*
-{
-
-
- switch os.Args[1] {
- case CmdAdd:
- result, err := cninet.AddNetworkList(context.TODO(), netconf, rt)
- if result != nil {
- _ = result.Print()
- }
- return err
- case CmdCheck:
- err := cninet.CheckNetworkList(context.TODO(), netconf, rt)
- return err
- case CmdDel:
- err := cninet.DelNetworkList(context.TODO(), netconf, rt)
- return err
- }
-
- return nil
-}
-*/
return true
}
-func sendgRPCusingTcp() error {
- var conn *grpc.ClientConn
-
- // Create the client TLS credentials
- creds, err := credentials.NewClientTLSFromFile("cert/server.crt", "")
- if err != nil {
- log.Fatalf("could not load tls cert: %s", err)
- return err
- }
-
- // Setup the login/pass
- auth := Authentication{
- Login: "john",
- Password: "doe",
- }
-
- // Initiate a connection with the server
- conn, err = grpc.Dial("localhost:7777", grpc.WithTransportCredentials(creds), grpc.WithPerRPCCredentials(&auth))
- if err != nil {
- log.Fatalf("did not connect: %s", err)
- return err
- }
- defer conn.Close()
-
- // CNI Test
- cni := api.NewCNIserverClient(conn)
-
- cniPath := api.ConfPath {
- NetDir: "/home/mcambria/go/src/github.com/containernetworking",
- NetConf: "firewall-mcc1-range-chain",
- }
-
- cniMsg := api.CNImsg{
- //ConfigPath: {
- //NetDir: "/home/mcambria/go/src/github.com/containernetworking",
- //NetConf: "firewall-mcc1-range-chain",
- //},
- ConfigPath: &cniPath,
- Cmd: api.CmdType_ADD,
- ContainerID: "containerOne",
- NetNS: "/var/run/netns/mcc-test-0",
- IfName: "ensX",
- StdIn: "stdInStringHere",
- CniArgs: "IgnoreUnknown=1;IP=10.1.0.20",
-
- }
- result, err := cni.CNIop(context.Background(), &cniMsg)
- if err != nil {
- log.Fatalf("error when calling CNIop: %s", err)
- return err
- }
-
- log.Printf("Response from TCP server: %s", result.StdOut)
-
- return nil
-}
-
-func sendgRPCusingUnix() error {
-
- var conn *grpc.ClientConn
-
- // Create the unix socket client TLS credentials
- creds, err := credentials.NewClientTLSFromFile("cert/unixServer.crt", "")
- if err != nil {
- log.Fatalf("could not load tls cert: %s", err)
- return err
- }
-
- // Setup the login/pass
- auth := Authentication{
- Login: "john",
- Password: "doe",
- }
-
- // Initiate a connection with the server
- conn, err = grpc.Dial("unix:///tmp/grpc.sock", grpc.WithTransportCredentials(creds), grpc.WithPerRPCCredentials(&auth))
- if err != nil {
- log.Fatalf("did not connect: %s", err)
- return err
- }
- defer conn.Close()
-
- // CNI Test
- cni := api.NewCNIserverClient(conn)
-
- cniPath := api.ConfPath {
- NetDir: "/home/mcambria/go/src/github.com/containernetworking",
- NetConf: "firewall-mcc1-range-chain",
- }
-
- cniMsg := api.CNImsg{
- //ConfigPath: {
- //NetDir: "/home/mcambria/go/src/github.com/containernetworking",
- //NetConf: "firewall-mcc1-range-chain",
- //},
- ConfigPath: &cniPath,
- Cmd: api.CmdType_ADD,
- ContainerID: "containerOne",
- NetNS: "/var/run/netns/mcc-test-0",
- IfName: "ensX",
- StdIn: "stdInStringHere",
- CniArgs: "IgnoreUnknown=1;IP=10.1.0.20",
-
- }
- result, err := cni.CNIop(context.Background(), &cniMsg)
- if err != nil {
- log.Fatalf("error when calling CNIop: %s", err)
- return err
- }
- log.Printf("Response from TCP server: %s", result.StdOut)
-
- // Now use add version of .proto
- cniAddMsg := api.CNIaddMsg{
- Conf: cniPath.NetConf,
- ContainerID: "containerOne",
- NetNS: "/var/run/netns/mcc-test-0",
- IfName: "ensX",
- CniArgs: "IgnoreUnknown=1;IP=10.1.0.20",
-
- }
- resultAdd, err := cni.CNIadd(context.Background(), &cniAddMsg)
- if err != nil {
- log.Fatalf("error when calling CNIadd: %s", err)
- return err
- }
- log.Printf("Response from Unix Socket server: %s", resultAdd.StdOut)
-
- return nil
-}
-
func main() {
if len(os.Args) < 4 {
usage()