From 5c6dd17a373a2c56e57f02426d66a79af7faa19c Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Thu, 17 Feb 2022 09:08:47 +0000 Subject: ip: rate-limit the sending of ICMP error messages Type: improvement For error conditions, such as TTL expired, dest unreach, etc, Rate limit the sending of ICMP error messages. The rate limiting is done based on src,dst IP address of the received packet. the rate limit has been chosen, somewhat arbitrarily, to be 1e-3. This is the same limit as the ARP throttling. Signed-off-by: Neale Ranns Change-Id: I4a0b791cde8c941a9bf37de6aa5da56779d3cef4 --- test/test_ip6.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'test/test_ip6.py') diff --git a/test/test_ip6.py b/test/test_ip6.py index 2c318cdaf99..bac50a3df98 100644 --- a/test/test_ip6.py +++ b/test/test_ip6.py @@ -2599,12 +2599,14 @@ class TestIP6Input(VppTestCase): inet6.UDP(sport=1234, dport=1234) / Raw(b'\xa5' * 100)) - rx = self.send_and_expect(self.pg0, p_version * NUM_PKTS, self.pg0) - rx = rx[0] - icmp = rx[ICMPv6TimeExceeded] + rxs = self.send_and_expect_some(self.pg0, + p_version * NUM_PKTS, + self.pg0) - # 0: "hop limit exceeded in transit", - self.assertEqual((icmp.type, icmp.code), (3, 0)) + for rx in rxs: + icmp = rx[ICMPv6TimeExceeded] + # 0: "hop limit exceeded in transit", + self.assertEqual((icmp.type, icmp.code), (3, 0)) icmpv6_data = '\x0a' * 18 all_0s = "::" -- cgit 1.2.3-korg