X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=examples%2Fbinapi-types%2Fbinapi_types.go;h=2dbaa3ec3c2ba186787f707503ac1548973df66e;hb=0f46871b4cc45f2c3bd5bdb0aa0f7615795a2c6d;hp=849ad1b5bfd37bd0ccd773f6ee3da020edf9100f;hpb=cb540dc166c12180adba024d5b8fd463d2582928;p=govpp.git diff --git a/examples/binapi-types/binapi_types.go b/examples/binapi-types/binapi_types.go index 849ad1b..2dbaa3e 100644 --- a/examples/binapi-types/binapi_types.go +++ b/examples/binapi-types/binapi_types.go @@ -18,36 +18,42 @@ package main import ( "fmt" "log" + "time" "git.fd.io/govpp.git/binapi/ethernet_types" "git.fd.io/govpp.git/binapi/ip" "git.fd.io/govpp.git/binapi/ip_types" + "git.fd.io/govpp.git/binapi/vpe_types" "git.fd.io/govpp.git/codec" ) func init() { - log.SetFlags(0) } func main() { - addressUnionExample() - ipAddressExample() + log.SetFlags(0) + + usageUnion() + usageAddress() - // convert IP from string form into Address type containing union - convertIP("10.10.1.1") - convertIP("ff80::1") + // convert IP address in string form into ip_types.Address + convertIPAddress("10.10.1.1") + convertIPAddress("ff80::1") - // convert IP from string form into Prefix type + // convert IP address / CIDR in string form into ip_types.Prefix convertIPPrefix("20.10.1.1/24") convertIPPrefix("21.10.1.1") convertIPPrefix("ff90::1/64") convertIPPrefix("ff91::1") - // convert MAC address from string into MacAddress + // convert MAC address in string form into ethernet_types.MacAddress convertToMacAddress("00:10:ab:4f:00:01") + + // convert time.Time into vpe_types.Timestamp + convertToTimestamp(time.Now()) } -func addressUnionExample() { +func usageUnion() { var union ip_types.AddressUnion // initialize union using constructors @@ -63,21 +69,17 @@ func addressUnionExample() { union.SetIP6(ip6) } -func ipAddressExample() { +func usageAddress() { // parse string into IP address - addrIP4, err := ip_types.ParseAddress("192.168.1.10") + addr, err := ip_types.ParseAddress("192.168.1.10") if err != nil { panic(err) } - /*addrIP6, err := ip_types.ParseAddress("ff:2::2") - if err != nil { - panic(err) - }*/ var msg = ip.IPPuntRedirect{ IsAdd: true, Punt: ip.PuntRedirect{ - Nh: addrIP4, + Nh: addr, }, } @@ -103,7 +105,7 @@ func ipAddressExample() { } } -func convertIP(ip string) { +func convertIPAddress(ip string) { addr, err := ip_types.ParseAddress(ip) if err != nil { log.Printf("error converting IP to Address: %v", err) @@ -135,3 +137,10 @@ func convertToMacAddress(mac string) { fmt.Printf("MacAddress converted back to string %#v to: %s\n", parsedMac, parsedMac) } + +func convertToTimestamp(t time.Time) { + timestamp := vpe_types.NewTimestamp(t) + fmt.Printf("converted time %v to: %#v\n", t, timestamp) + + fmt.Printf("Timestamp converted back to string %#v to: %s\n", timestamp, timestamp) +}