summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2021-05-04 07:43:48 -0400
committerGitHub <noreply@github.com>2021-05-04 07:43:48 -0400
commitc973779d0210909b0c78555e35f15f343fd2b518 (patch)
treebb6684aaceaf7a8dc861d48de0f246d5f07c454f
parent2fd97fd87d164dab039ab456ea5ba4bdc53f2033 (diff)
parent9f92e2352be4fd85a59f9ee541718ae76c719968 (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.c11
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)) {