summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranlan_cs <vic.lan@pica8.com>2023-03-02 10:57:17 +0100
committeranlan_cs <vic.lan@pica8.com>2023-03-03 11:25:12 +0100
commitc9aac2c38a2639c17d77cd85b20bf42237b70aa6 (patch)
tree2e942c525342f0796c483933428f0bd612301a7d
parentMerge pull request #12917 from pguibert6WIND/bpi_ultimate_path_debug (diff)
downloadfrr-c9aac2c38a2639c17d77cd85b20bf42237b70aa6.tar.xz
frr-c9aac2c38a2639c17d77cd85b20bf42237b70aa6.zip
bfdd: Remove useless check for ECHO packet
The check with `ip->daddr == ip->saddr` in `bfd_recv_ipv4_fp()` is useless, instead of it the ECHO packets should simply exit with TTL checking failure regardless of this condition check. Just remove the check. Signed-off-by: anlan_cs <vic.lan@pica8.com>
-rw-r--r--bfdd/bfd_packet.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/bfdd/bfd_packet.c b/bfdd/bfd_packet.c
index 7be235326..88a9310bc 100644
--- a/bfdd/bfd_packet.c
+++ b/bfdd/bfd_packet.c
@@ -140,7 +140,7 @@ int _ptm_bfd_send(struct bfd_session *bs, uint16_t *port, const void *data,
* sizeof(*pkt)
*
* ip
- * IP address that pkt will be transmitted from and too.
+ * IP address that pkt will be transmitted from and to.
*
* Returns:
* Checksum in network byte order.
@@ -481,12 +481,6 @@ ssize_t bfd_recv_ipv4_fp(int sd, uint8_t *msgbuf, size_t msgbuflen,
*ttl = ip->ttl;
if (*ttl != 254) {
- /* Echo should be looped in peer's forwarding plane, but it also
- * comes up to BFD so silently drop it
- */
- if (ip->daddr == ip->saddr)
- return -1;
-
if (bglobal.debug_network)
zlog_debug("%s: invalid TTL: %u", __func__, *ttl);
return -1;