diff options
| author | Samanvitha B Bhargav <bsamanvitha@vmware.com> | 2023-08-11 03:32:16 -0700 |
|---|---|---|
| committer | Samanvitha B Bhargav <bsamanvitha@vmware.com> | 2023-08-12 04:10:05 -0700 |
| commit | 32f91a88b6f5466b0449f63f4a40d975cdb152a8 (patch) | |
| tree | 71d0b1265627845e17c2bba553f22838852cf528 /ospf6d/ospf6_intra.h | |
| parent | e9e304e810927d32e17e7e930d1f141b5d199803 (diff) | |
bgpd: Fix update message error handling for multiple same attributes
As per RFC7606 section 3g,
g. If the MP_REACH_NLRI attribute or the MP_UNREACH_NLRI [RFC4760]
attribute appears more than once in the UPDATE message, then a
NOTIFICATION message MUST be sent with the Error Subcode
"Malformed Attribute List". If any other attribute (whether
recognized or unrecognized) appears more than once in an UPDATE
message, then all the occurrences of the attribute other than the
first one SHALL be discarded and the UPDATE message will continue
to be processed.
However, notification is sent out currently for all the cases.
Fix:
For cases other than MP_REACH_NLRI & MP_UNREACH_NLRI, handling has been updated
to discard the occurrences other than the first one and proceed with further parsing.
Again, the handling is relaxed only for the EBGP case.
Also, since in case of error, the attribute is discarded &
stream pointer is being adjusted accordingly based on length,
the total attribute length sanity check case has been moved up in the function
to be checked before this case.
Signed-off-by: Samanvitha B Bhargav <bsamanvitha@vmware.com>
Diffstat (limited to 'ospf6d/ospf6_intra.h')
0 files changed, 0 insertions, 0 deletions
