"log"
"context"
"crypto/sha512"
- //"encoding/json"
+ "encoding/json"
"fmt"
"os"
"path/filepath"
"strings"
+ //proto "github.com/golang/protobuf/proto"
+
"github.com/containernetworking/cni/libcni"
)
return result, nil
}
-func cniCommon(conf string, netns string, ifName string, args string, capabilityArgsValue []*CNIcapArgs) (*libcni.NetworkConfigList, *libcni.RuntimeConf, *libcni.CNIConfig, error) {
+func cniCommon(conf string, netns string, ifName string, args string, capabilityArgsValue string) (*libcni.NetworkConfigList, *libcni.RuntimeConf, *libcni.CNIConfig, error) {
log.Printf("cniCommon Called")
return nil, nil, nil, err
}
- // TODO deal with capabilityArgs
- //
- //var capabilityArgs map[string]interface{}
- // //capabilityArgsValue := os.Getenv(EnvCapabilityArgs)
- //if len(capabilityArgsValue) > 0 {
- // if err = json.Unmarshal([]byte(capabilityArgsValue), &capabilityArgs); err != nil {
- // return nil, nil, nil, err
- // }
- //}
+ capabilityArgs := CNIcapArgs{}
+ if err = json.Unmarshal([]byte(capabilityArgsValue), &capabilityArgs); err != nil {
+ //if err := proto.Unmarshal([]byte(capabilityArgsValue), &capabilityArgs); err != nil {
+ return nil, nil, nil, err
+ }
var cniArgs [][2]string
if args != "" {
"path/filepath"
"github.com/mccv1r0/demo-grpc/api"
+ //proto "github.com/golang/protobuf/proto"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
)
os.Exit(1)
}
- /*
- var capabilityArgs map[string]interface{}
+ var capArgs string
+ //var err error
+ //capabilityArgs := api.CNIcapArgs{}
capabilityArgsValue := os.Getenv(EnvCapabilityArgs)
if len(capabilityArgsValue) > 0 {
- if err := json.Unmarshal([]byte(capabilityArgsValue), &capabilityArgs); err != nil {
- exit(err)
- }
+ println("capabilityArgsValue: ", capabilityArgsValue)
+ //if err = proto.Unmarshal([]byte(capabilityArgsValue), &capabilityArgs); err != nil {
+ // exit(err)
+ //}
+ //data, err := proto.Marshal(&capabilityArgs)
+ //println("data: %v", data)
+ //if err != nil {
+ // exit(err)
+ //}
+ //capArgs = string(data)
+ capArgs = capabilityArgsValue
}
- */
-
- /*
- capArgs, okCapArgs := os.LookupEnv(EnvCapabilityArgs)
- if !okCapArgs {
- capArgs = ""
- }
- */
args, okArgs := os.LookupEnv(EnvCNIArgs)
if !okArgs {
switch os.Args[1] {
case CmdAdd:
- gRPCsendAddTcp(os.Args[2], netns, ifName, args)
+ gRPCsendAddTcp(os.Args[2], netns, ifName, args, capArgs)
os.Exit(0)
case CmdCheck:
- gRPCsendCheckTcp(os.Args[2], netns, ifName, args)
+ gRPCsendCheckTcp(os.Args[2], netns, ifName, args, capArgs)
os.Exit(0)
case CmdDel:
- gRPCsendDelTcp(os.Args[2], netns, ifName, args)
+ gRPCsendDelTcp(os.Args[2], netns, ifName, args, capArgs)
os.Exit(0)
}
}
-func gRPCsendAddTcp(conf string, netns string, ifName string, args string) error {
+func gRPCsendAddTcp(conf string, netns string, ifName string, args string, capArgs string) error {
var conn *grpc.ClientConn
// Create the client TLS credentials
NetNS: netns,
IfName: ifName,
CniArgs: args,
- //CapArgs: capArgs,
+ CapArgs: capArgs,
}
resultAdd, err := cni.CNIadd(context.Background(), &cniAddMsg)
if err != nil {
return nil
}
-func gRPCsendCheckTcp(conf string, netns string, ifName string, args string) error {
+func gRPCsendCheckTcp(conf string, netns string, ifName string, args string, capArgs string) error {
var conn *grpc.ClientConn
// Create the client TLS credentials
NetNS: netns,
IfName: ifName,
CniArgs: args,
- //CapArgs: capArgs,
+ CapArgs: capArgs,
}
resultCheck, err := cni.CNIcheck(context.Background(), &cniCheckMsg)
if err != nil {
return nil
}
-func gRPCsendDelTcp(conf string, netns string, ifName string, args string) error {
+func gRPCsendDelTcp(conf string, netns string, ifName string, args string, capArgs string) error {
var conn *grpc.ClientConn
// Create the client TLS credentials
NetNS: netns,
IfName: ifName,
CniArgs: args,
- //CapArgs: capArgs,
+ CapArgs: capArgs,
}
resultDel, err := cni.CNIdel(context.Background(), &cniDelMsg)
if err != nil {
return nil
}
-func gRPCsendAddUnix(conf string, netns string, ifName string, args string) error {
+func gRPCsendAddUnix(conf string, netns string, ifName string, args string, capArgs string) error {
var conn *grpc.ClientConn
NetNS: netns,
IfName: ifName,
CniArgs: args,
+ CapArgs: capArgs,
}
resultAdd, err := cni.CNIadd(context.Background(), &cniAddMsg)
if err != nil {
return nil
}
-func gRPCsendCheckUnix(conf string, netns string, ifName string, args string) error {
+func gRPCsendCheckUnix(conf string, netns string, ifName string, args string, capArgs string) error {
var conn *grpc.ClientConn
NetNS: netns,
IfName: ifName,
CniArgs: args,
+ CapArgs: capArgs,
}
resultCheck, err := cni.CNIcheck(context.Background(), &cniCheckMsg)
if err != nil {
return nil
}
-func gRPCsendDelUnix(conf string, netns string, ifName string, args string) error {
+func gRPCsendDelUnix(conf string, netns string, ifName string, args string, capArgs string) error {
var conn *grpc.ClientConn
NetNS: netns,
IfName: ifName,
CniArgs: args,
+ CapArgs: capArgs,
}
resultDel, err := cni.CNIdel(context.Background(), &cniDelMsg)
if err != nil {