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
No related branches found
No related tags found
2 merge requests!19Mcp client,!18Develop
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