Skip to content

Commit 8dada58

Browse files
authored
Merge branch 'develop' into control-station/gauge
2 parents 6afd361 + c45fd96 commit 8dada58

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

backend/cmd/main.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,13 @@ func main() {
235235
if err != nil {
236236
panic("failed to compile bpf filter")
237237
}
238-
go transp.HandleSniffer(sniffer.New(source, &layers.LayerTypeEthernet, trace.Logger))
238+
go func() {
239+
sniffer := sniffer.New(source, &layers.LayerTypeEthernet, trace.Logger)
240+
for {
241+
errChan := transp.HandleSniffer(sniffer)
242+
trace.Error().Stack().Err(<-errChan).Msg("sniffer crashed, restarting...")
243+
}
244+
}()
239245

240246
// <--- http server --->
241247
podDataHandle, err := h.HandleDataJSON("podData.json", pod_data.GetDataOnlyPodData(podData))

backend/pkg/transport/session/sniffer.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"io"
66

77
"github.com/HyperloopUPV-H8/h9-backend/pkg/transport/network"
8+
"github.com/HyperloopUPV-H8/h9-backend/pkg/transport/network/sniffer"
89
"github.com/rs/zerolog"
910
)
1011

@@ -60,6 +61,9 @@ func (demux *SnifferDemux) ReadPackets(reader packetReader) {
6061
for {
6162
payload, err := reader.ReadNext()
6263
if err != nil {
64+
if _, ok := err.(sniffer.ErrMissingLayers); ok {
65+
continue
66+
}
6367
demux.logger.Error().Stack().Err(err).Msg("read next")
6468
demux.errorChan <- err
6569
return

0 commit comments

Comments
 (0)