Merge pull request #9 from zr-hebo/develop-hebo
fix bug caused by linux kernel
This commit is contained in:
commit
8e4e9a8d62
|
@ -78,6 +78,7 @@ func initEthernetHandlerFromPacpgo() (handler *pcapgo.EthernetHandle) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// in online use, we found a strange bug: pcap cost 100% core CPU and memory increase along
|
||||||
func initEthernetHandlerFromPacp() (handler *pcap.Handle) {
|
func initEthernetHandlerFromPacp() (handler *pcap.Handle) {
|
||||||
handler, err := pcap.OpenLive(DeviceName, 65536, false, pcap.BlockForever)
|
handler, err := pcap.OpenLive(DeviceName, 65536, false, pcap.BlockForever)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -101,7 +102,7 @@ func (nc *networkCard) Listen() (receiver chan model.QueryPiece) {
|
||||||
func (nc *networkCard) listenNormal() {
|
func (nc *networkCard) listenNormal() {
|
||||||
go func() {
|
go func() {
|
||||||
aliveCounter := 0
|
aliveCounter := 0
|
||||||
handler := initEthernetHandlerFromPacp()
|
handler := initEthernetHandlerFromPacpgo()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
var data []byte
|
var data []byte
|
||||||
|
@ -127,8 +128,8 @@ func (nc *networkCard) listenNormal() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// packet := gopacket.NewPacket(data, layers.LayerTypeEthernet, gopacket.NoCopy)
|
packet := gopacket.NewPacket(data, layers.LayerTypeEthernet, gopacket.NoCopy)
|
||||||
packet := gopacket.NewPacket(data, handler.LinkType(), gopacket.NoCopy)
|
// packet := gopacket.NewPacket(data, handler.LinkType(), gopacket.NoCopy)
|
||||||
m := packet.Metadata()
|
m := packet.Metadata()
|
||||||
m.CaptureInfo = ci
|
m.CaptureInfo = ci
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue