aboutsummaryrefslogtreecommitdiffstats
path: root/extras/libmemif/examples/icmp-responder/icmp-responder.go
diff options
context:
space:
mode:
Diffstat (limited to 'extras/libmemif/examples/icmp-responder/icmp-responder.go')
-rw-r--r--extras/libmemif/examples/icmp-responder/icmp-responder.go18
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
+ }
}