Skip to content
Snippets Groups Projects
Commit 740448f0 authored by Manuel Kieweg's avatar Manuel Kieweg
Browse files

Merge branch 'master' into cleanup

parents 4ae47f50 fd849259
Branches
Tags
2 merge requests!19Mcp client,!18Develop
This commit is part of merge request !18. Comments created here will be created in the context of that merge request.
package main package main
import ( import (
"code.fbi.h-da.de/cocsn/gosdn/nucleus" "flag"
"gosdn/nucleus"
) )
// Generate the code out of the yang modules
//go:generate go run $GOPATH/src/github.com/openconfig/ygot/generator/generator.go -path=yang -output_file=yang-processor/gosdnyang.go.go -package_name=gosdnyang -generate_fakeroot -fakeroot_name=device -compress_paths=true -shorten_enum_leaf_names -exclude_modules=ietf-interfaces yang/openconfig-interfaces.yang yang/openconfig-if-ip.yang
type goSDNConfiguration struct {
cliServerAddr4 *string
cliServerPort4 *int
}
func main() { func main() {
// register our supported flags
cliServerAddr4 := flag.String("cliServerAddr", "127.0.0.1", "The IPv4 Address of the grpcCLI.")
cliServerPort4 := flag.Int("cliServerPort", 55055, "The port number of the grpcCLI")
flag.Parse()
var myConfiguration = new(goSDNConfiguration)
myConfiguration.cliServerAddr4 = cliServerAddr4
myConfiguration.cliServerPort4 = cliServerPort4
// hand off to cmd for further processing // hand off to cmd for further processing
nucleus.Execute() nucleus.StartUp()
nucleus.Run()
// nothing to see here, please move on! // nothing to see here, please move on!
} }
package nucleus package nucleus
import ( import (
yangPro "code.fbi.h-da.de/cocsn/yang-modules/generated/ciena"
"fmt" "fmt"
"github.com/openconfig/ygot/ygot" "github.com/openconfig/ygot/ygot"
"net" "net"
yangPro "gosdn/yang-processor"
) )
// This is a test function in order to see how to generate JSON encoded openconfig stuff // This is a test function in order to see how to generate JSON encoded openconfig stuff
...@@ -17,14 +17,11 @@ func AssembleJSON() { ...@@ -17,14 +17,11 @@ func AssembleJSON() {
for _, iface := range interfaces { for _, iface := range interfaces {
fmt.Println(iface.Name) fmt.Println(iface.Name)
i, err := d.WaveserverInterfaces.NewLogicalInterface("en0") i, err := d.NewInterface(iface.Name)
if err != nil { if err != nil {
panic(err) panic(err)
} }
i.State = &yangPro.CienaWaveserverInterfaces_WaveserverInterfaces_LogicalInterface_State{ i.Mtu = ygot.Uint16(234)
AdminState: 0,
OperationalState: 0,
}
//i.Mtu = ygot.Uint16(iface.MTU) //i.Mtu = ygot.Uint16(iface.MTU)
} }
...@@ -49,4 +46,4 @@ func AssembleJSON() { ...@@ -49,4 +46,4 @@ func AssembleJSON() {
panic(fmt.Sprintf("Cannot unmarshal JSON: %v", err)) panic(fmt.Sprintf("Cannot unmarshal JSON: %v", err))
} }
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"google.golang.org/grpc" "google.golang.org/grpc"
"log" "log"
"net" "net"
pb "gosdn/cliInterface"
"time" "time"
) )
...@@ -65,9 +66,6 @@ func StartUp() { ...@@ -65,9 +66,6 @@ func StartUp() {
func Run() { func Run() {
isRunning := true isRunning := true
// Test ygot
AssembleJSON()
for isRunning { for isRunning {
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
isRunning = false isRunning = false
......
package nucleus
import (
"fmt"
"github.com/spf13/cobra"
"os"
)
func init() {
rootCmd.AddCommand(versionCmd)
}
var versionCmd = &cobra.Command{
Use: "version",
Short: "Print the version number of goSDN",
Long: `A version is a version.`,
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("Beachead -- unkown HEAD")
},
}
var rootCmd = &cobra.Command{
Use: "goSDN",
Short: "A yet still incomplete attempt to build an network operating system, but...:-)",
Long: "Incomplete network operating system. Complete documentation is available at XXX",
Run: func(cmd *cobra.Command, args []string) {
// Do Stuff Here
StartUp()
Run()
},
}
func Execute() {
if err := rootCmd.Execute(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment