diff options
Diffstat (limited to 'extras/libmemif/examples/icmp-responder/icmp-responder.go')
-rw-r--r-- | extras/libmemif/examples/icmp-responder/icmp-responder.go | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/extras/libmemif/examples/icmp-responder/icmp-responder.go b/extras/libmemif/examples/icmp-responder/icmp-responder.go index 5e9f2e0..85ec8e3 100644 --- a/extras/libmemif/examples/icmp-responder/icmp-responder.go +++ b/extras/libmemif/examples/icmp-responder/icmp-responder.go @@ -50,7 +50,7 @@ import ( "github.com/google/gopacket" "github.com/google/gopacket/layers" - "git.fd.io/govpp.git/extras/libmemif" + "go.fd.io/govpp/extras/libmemif" ) const ( @@ -155,7 +155,7 @@ func IcmpResponder(memif *libmemif.Memif, queueID uint8) { break } // Generate response for each supported request. - responses := []libmemif.RawPacketData{} + var responses []libmemif.RawPacketData for _, packet := range packets { fmt.Println("Received new packet:") DumpPacket(packet) @@ -325,7 +325,7 @@ func main() { hwAddr, err = net.ParseMAC(MAC) if err != nil { - fmt.Println("Failed to parse the MAC address: %v", err) + fmt.Printf("Failed to parse the MAC address: %v", err) return } @@ -334,7 +334,7 @@ func main() { ipAddr = ip.To4() } if ipAddr == nil { - fmt.Println("Failed to parse the IP address: %v", err) + fmt.Printf("Failed to parse the IP address: %v", err) return } @@ -399,5 +399,13 @@ func main() { // Wait until an interrupt signal is received. sigChan := make(chan os.Signal, 1) signal.Notify(sigChan, os.Interrupt) - <-sigChan + var intErrch = memif.GetInterruptErrorChan() + select { + case err = <-intErrch: + fmt.Printf("Exit due to interface error: %v\n", err) + return + case <-sigChan: + fmt.Printf("Exit by os.Interrupt") + return + } } |