Skip to content

"can't serialize Eth header" crash when running on Roon core #120

@mglause

Description

@mglause

Hello,

Perhaps I'm doing something wrong, but udp-proxy-2020 crashes with a "can't serialize Eth header" error whenever I try to open Roon on my remote endpoint. I'm running the latest version (0.1.0) of udp-proxy-2020 on my Roon core, and my remote endpoint is connected to the Roon core via Wireguard (more specifically Netmaker). The command I'm using is "udp-proxy-2020 --interface lo --interface netmaker --port 9003 --no-listen --deliver-local --level debug" and the debug output is below. Any help would be appreciated.

Thanks,
Matt


DEBUG lo: ifIndex: 1
DEBUG Listen: (main.Listen) {
iname: (string) (len=2) "lo",
netif: (*net.Interface)(0xc0000624c0)({
Index: (int) 1,
MTU: (int) 65536,
Name: (string) (len=2) "lo",
HardwareAddr: (net.HardwareAddr) ,
Flags: (net.Flags) up|loopback|running
}),
ports: ([]int32) (len=1 cap=2) {
(int32) 9003
},
ipaddr: (string) "",
promisc: (bool) true,
handle: (*pcap.Handle)(),
writer: (*pcapgo.Writer)(),
inwriter: (*pcapgo.Writer)(),
outwriter: (*pcapgo.Writer)(),
sendOnly: (bool) false,
localIP: (net.IP) ,
timeout: (time.Duration) 250ms,
clientTTL: (time.Duration) 0s,
sendpkt: (chan main.Send) (cap=100) 0xc000064600,
clients: (map[string]time.Time) {
}
}
DEBUG netmaker: ifIndex: 11
DEBUG Listen: (main.Listen) {
iname: (string) (len=8) "netmaker",
netif: (*net.Interface)(0xc000062880)({
Index: (int) 11,
MTU: (int) 1420,
Name: (string) (len=8) "netmaker",
HardwareAddr: (net.HardwareAddr) ,
Flags: (net.Flags) up|pointtopoint|running
}),
ports: ([]int32) (len=1 cap=2) {
(int32) 9003
},
ipaddr: (string) "",
promisc: (bool) true,
handle: (*pcap.Handle)(),
writer: (*pcapgo.Writer)(),
inwriter: (*pcapgo.Writer)(),
outwriter: (*pcapgo.Writer)(),
sendOnly: (bool) false,
localIP: (net.IP) ,
timeout: (time.Duration) 250ms,
clientTTL: (time.Duration) 0s,
sendpkt: (chan main.Send) (cap=100) 0xc000064660,
clients: (map[string]time.Time) {
}
}
DEBUG lo: ifIndex: 1
DEBUG lo network: ip+net string: 127.0.0.1/8
DEBUG lo network: ip+net string: ::1/128
DEBUG Listen: (main.Listen) {
iname: (string) (len=2) "lo",
netif: (*net.Interface)(0xc000062b80)({
Index: (int) 1,
MTU: (int) 65536,
Name: (string) (len=2) "lo",
HardwareAddr: (net.HardwareAddr) ,
Flags: (net.Flags) up|loopback|running
}),
ports: ([]int32) (len=1 cap=2) {
(int32) 9003
},
ipaddr: (string) (len=15) "127.255.255.255",
promisc: (bool) false,
handle: (*pcap.Handle)(),
writer: (*pcapgo.Writer)(),
inwriter: (*pcapgo.Writer)(),
outwriter: (*pcapgo.Writer)(),
sendOnly: (bool) true,
localIP: (net.IP) ,
timeout: (time.Duration) 250ms,
clientTTL: (time.Duration) 0s,
sendpkt: (chan main.Send) (cap=100) 0xc000064a20,
clients: (map[string]time.Time) (len=1) {
(string) (len=9) "127.0.0.1": (time.Time) 0001-01-01 00:00:00 +0000 UTC
}
}
DEBUG lo: applying BPF Filter: (udp port 9003) and (src net 127.0.0.0/8)
DEBUG Opened pcap handle on lo
DEBUG netmaker: applying BPF Filter: (udp port 9003) and (src net 10.20.20.0/24)
DEBUG Opened pcap handle on netmaker
DEBUG lo: applying BPF Filter: (udp port 9003) and (src net 127.0.0.0/8)
DEBUG Opened pcap handle on lo
DEBUG Initialization complete!
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(lo) ticker
DEBUG handlePackets(netmaker) ticker
DEBUG netmaker: Learned client IP: 10.20.20.1
DEBUG netmaker: received packet and fowarding onto other interfaces
DEBUG lo: sending out because we're not netmaker
DEBUG lo: Learned client IP: 127.0.0.1
DEBUG lo: received packet and fowarding onto other interfaces
DEBUG netmaker: sending out because we're not lo
DEBUG processing packet from netmaker on lo
FATAL can't serialize Eth header: (layers.Ethernet) {
BaseLayer: (layers.BaseLayer) {
Contents: ([]uint8) ,
Payload: ([]uint8)
},
SrcMAC: (net.HardwareAddr) ,
DstMAC: (net.HardwareAddr) (len=6 cap=6) ff:ff:ff:ff:ff:ff,
EthernetType: (layers.EthernetType) IPv4,
Length: (uint16) 0
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions