netlink: unexpected extended acknowledgement error format for dump
mdlayher opened this issue · comments
See the test program in #182, and add:
if err := c.SetOption(netlink.ExtendedAcknowledge, true); err != nil {
log.Fatalf("failed to set extended acknowledge: %v", err)
}
This format seems to omit the nlmsghdr we'd been parsing before and seemingly goes directly into TLVs.
[matt@routnerr-2:~]$ ./rtnltest
([]netlink.Message) (len=1 cap=1) {
(netlink.Message) {
Header: (netlink.Header) {
Length: (uint32) 72,
Type: (netlink.HeaderType) done,
Flags: (netlink.HeaderFlags) multi|0x200,
Sequence: (uint32) 3170989594,
PID: (uint32) 18027
},
Data: ([]uint8) (len=56 cap=4080) {
00000000 ea ff ff ff 32 00 01 00 49 6e 76 61 6c 69 64 20 |....2...Invalid |
00000010 76 61 6c 75 65 73 20 69 6e 20 68 65 61 64 65 72 |values in header|
00000020 20 66 6f 72 20 46 49 42 20 64 75 6d 70 20 72 65 | for FIB dump re|
00000030 71 75 65 73 74 00 00 00 |quest...|
}
}
}
([]netlink.Message) (cap=1) {
}
Fixed in 1072e65.