diff options
| author | Russ White <russ@riw.us> | 2021-05-04 07:43:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-04 07:43:48 -0400 |
| commit | c973779d0210909b0c78555e35f15f343fd2b518 (patch) | |
| tree | bb6684aaceaf7a8dc861d48de0f246d5f07c454f | |
| parent | 2fd97fd87d164dab039ab456ea5ba4bdc53f2033 (diff) | |
| parent | 9f92e2352be4fd85a59f9ee541718ae76c719968 (diff) | |
Merge pull request #8615 from dslicenc/eigrp-asn-check
eigrpd: Test for EIGRP AS number and ensure it's the same
| -rw-r--r-- | eigrpd/eigrp_packet.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/eigrpd/eigrp_packet.c b/eigrpd/eigrp_packet.c index 0b37733990..39e384c121 100644 --- a/eigrpd/eigrp_packet.c +++ b/eigrpd/eigrp_packet.c @@ -572,9 +572,14 @@ int eigrp_read(struct thread *thread) && IS_DEBUG_EIGRP_TRANSMIT(0, PACKET_DETAIL)) eigrp_header_dump(eigrph); - // if (MSG_OK != eigrp_packet_examin(eigrph, stream_get_endp(ibuf) - - // stream_get_getp(ibuf))) - // return -1; + if (ntohs(eigrph->ASNumber) != eigrp->AS) { + if (IS_DEBUG_EIGRP_TRANSMIT(0, RECV)) + zlog_debug( + "ignoring packet from router %u sent to %pI4, wrong AS Number received: %u", + ntohs(eigrph->vrid), &iph->ip_dst, + ntohs(eigrph->ASNumber)); + return 0; + } /* If incoming interface is passive one, ignore it. */ if (eigrp_if_is_passive(ei)) { |
