"github.com/google/gopacket"
"github.com/google/gopacket/layers"
- "git.fd.io/govpp.git/extras/libmemif"
+ "go.fd.io/govpp/extras/libmemif"
)
const (
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)
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
}
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
}
// 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
+ }
}