diff --git a/protocols/bgp/packet/path_attributes.go b/protocols/bgp/packet/path_attributes.go index 0390b6617944b5ea1933b542b97c29ac069c52c6..45451c5d9791ad4b3ee4ae093b3a60e09317b005 100644 --- a/protocols/bgp/packet/path_attributes.go +++ b/protocols/bgp/packet/path_attributes.go @@ -6,6 +6,7 @@ import ( "strconv" "strings" + "github.com/sirupsen/logrus" "github.com/taktv6/tflow2/convert" ) @@ -19,10 +20,11 @@ func decodePathAttrs(buf *bytes.Buffer, tpal uint16) (*PathAttribute, error) { p := uint16(0) for p < tpal { pa, consumed, err = decodePathAttr(buf) + p += consumed if err != nil { - return nil, fmt.Errorf("Unable to decode path attr: %v", err) + logrus.Errorf("Unable to decode path attr: %v", err) + continue } - p += consumed if ret == nil { ret = pa