Remove always-nil deserializeFouMsg error return value

The error is always nil. Remove it to simplify the callers.
This commit is contained in:
Tobias Klauser
2025-07-22 15:58:29 +02:00
committed by Alessandro Boch
parent 7a3403a870
commit 3d9b64dc8d
2 changed files with 42 additions and 55 deletions

View File

@@ -169,18 +169,13 @@ func (h *Handle) FouList(fam int) ([]Fou, error) {
fous := make([]Fou, 0, len(msgs))
for _, m := range msgs {
f, err := deserializeFouMsg(m)
if err != nil {
return fous, err
}
fous = append(fous, f)
fous = append(fous, deserializeFouMsg(m))
}
return fous, executeErr
}
func deserializeFouMsg(msg []byte) (Fou, error) {
func deserializeFouMsg(msg []byte) Fou {
fou := Fou{}
for attr := range nl.ParseAttributes(msg[4:]) {
@@ -204,5 +199,5 @@ func deserializeFouMsg(msg []byte) (Fou, error) {
}
}
return fou, nil
return fou
}

View File

@@ -13,10 +13,7 @@ func TestFouDeserializeMsg(t *testing.T) {
// deserialize a valid message
msg = []byte{3, 1, 0, 0, 5, 0, 2, 0, 2, 0, 0, 0, 6, 0, 1, 0, 21, 179, 0, 0, 5, 0, 3, 0, 4, 0, 0, 0, 5, 0, 4, 0, 1, 0, 0, 0}
if fou, err := deserializeFouMsg(msg); err != nil {
t.Error(err.Error())
} else {
fou := deserializeFouMsg(msg)
// check if message was deserialized correctly
if fou.Family != FAMILY_V4 {
t.Errorf("expected family %d, got %d", FAMILY_V4, fou.Family)
@@ -33,13 +30,10 @@ func TestFouDeserializeMsg(t *testing.T) {
if fou.EncapType != FOU_ENCAP_DIRECT {
t.Errorf("expected encap type %d, got %d", FOU_ENCAP_DIRECT, fou.EncapType)
}
}
// deserialize a valid message(kernel >= 5.2)
msg = []byte{3, 1, 0, 0, 5, 0, 2, 0, 2, 0, 0, 0, 6, 0, 1, 0, 43, 103, 0, 0, 6, 0, 10, 0, 86, 206, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 5, 0, 4, 0, 2, 0, 0, 0, 8, 0, 11, 0, 0, 0, 0, 0, 8, 0, 6, 0, 1, 2, 3, 4, 8, 0, 8, 0, 5, 6, 7, 8}
if fou, err := deserializeFouMsg(msg); err != nil {
t.Error(err.Error())
} else {
fou = deserializeFouMsg(msg)
if fou.Family != FAMILY_V4 {
t.Errorf("expected family %d, got %d", FAMILY_V4, fou.Family)
}
@@ -71,13 +65,11 @@ func TestFouDeserializeMsg(t *testing.T) {
if fou.PeerPort != 22222 {
t.Errorf("expected peer port 0, got %d", fou.PeerPort)
}
}
// unknown attribute should be skipped
msg = []byte{3, 1, 0, 0, 5, 0, 112, 0, 2, 0, 0, 0, 5, 0, 2, 0, 2, 0, 0}
if fou, err := deserializeFouMsg(msg); err != nil {
t.Errorf("unexpected error: %s", err.Error())
} else if fou.Family != 2 {
fou = deserializeFouMsg(msg)
if fou.Family != 2 {
t.Errorf("expected family 2, got %d", fou.Family)
}
}