Пример #1
0
 def _clean_up_conntrack_entries(self):
     """Removes conntrack entries for all the IPs in self._removed_ips."""
     _log.debug("Cleaning up conntrack for old IPs: %s", self._removed_ips)
     devices.remove_conntrack_flows(self._removed_ips,
                                    IP_TYPE_TO_VERSION[self.ip_type])
     # We could use self._removed_ips.clear() but it's hard to UT because
     # the UT sees the update.
     self._removed_ips = set()
Пример #2
0
 def _clean_up_conntrack_entries(self):
     """Removes conntrack entries for all the IPs in self._removed_ips."""
     _log.debug("Cleaning up conntrack for old IPs: %s", self._removed_ips)
     devices.remove_conntrack_flows(
         self._removed_ips,
         4 if self.ip_type == futils.IPV4 else 6
     )
     # We could use self._removed_ips.clear() but it's hard to UT because
     # the UT sees the update.
     self._removed_ips = set()
Пример #3
0
 def test_remove_conntrack_v6(self, m_check_call):
     devices.remove_conntrack_flows(set(["1234::1"]), 6)
     self.assertEqual(
         m_check_call.mock_calls,
         [
             mock.call(["conntrack", "--family", "ipv6", "--delete", "--orig-src", "1234::1"]),
             mock.call(["conntrack", "--family", "ipv6", "--delete", "--orig-dst", "1234::1"]),
             mock.call(["conntrack", "--family", "ipv6", "--delete", "--reply-src", "1234::1"]),
             mock.call(["conntrack", "--family", "ipv6", "--delete", "--reply-dst", "1234::1"]),
         ],
     )
Пример #4
0
 def test_remove_conntrack_v6(self, m_check_call):
     devices.remove_conntrack_flows(set(["1234::1"]), 6)
     self.assertEqual(m_check_call.mock_calls, [
         mock.call(["conntrack", "--family", "ipv6", "--delete",
                    "--orig-src", "1234::1"]),
         mock.call(["conntrack", "--family", "ipv6", "--delete",
                    "--orig-dst", "1234::1"]),
         mock.call(["conntrack", "--family", "ipv6", "--delete",
                    "--reply-src", "1234::1"]),
         mock.call(["conntrack", "--family", "ipv6", "--delete",
                    "--reply-dst", "1234::1"]),
     ])
Пример #5
0
 def test_remove_conntrack_error(self, m_check_call):
     m_check_call.side_effect = futils.FailedSystemCall("message", [], 1, "", "unexpected error")
     devices.remove_conntrack_flows(set(["10.0.0.1"]), 4)
     self.assertEqual(
         m_check_call.mock_calls,
         [
             mock.call(["conntrack", "--family", "ipv4", "--delete", "--orig-src", "10.0.0.1"]),
             mock.call(["conntrack", "--family", "ipv4", "--delete", "--orig-dst", "10.0.0.1"]),
             mock.call(["conntrack", "--family", "ipv4", "--delete", "--reply-src", "10.0.0.1"]),
             mock.call(["conntrack", "--family", "ipv4", "--delete", "--reply-dst", "10.0.0.1"]),
         ],
     )
Пример #6
0
 def test_remove_conntrack_error(self, m_check_call):
     m_check_call.side_effect = futils.FailedSystemCall(
         "message",
         [],
         1,
         "",
         "unexpected error"
     )
     devices.remove_conntrack_flows(set(["10.0.0.1"]), 4)
     # Each call is retried 3 times.
     self.assertEqual(m_check_call.mock_calls,
         [mock.call(["conntrack", "--family", "ipv4", "--delete",
                     "--orig-src", "10.0.0.1"])] * 3 +
         [mock.call(["conntrack", "--family", "ipv4", "--delete",
                     "--orig-dst", "10.0.0.1"])] * 3 +
         [mock.call(["conntrack", "--family", "ipv4", "--delete",
                     "--reply-src", "10.0.0.1"])] * 3 +
         [mock.call(["conntrack", "--family", "ipv4", "--delete",
                     "--reply-dst", "10.0.0.1"])] * 3)
Пример #7
0
 def test_remove_conntrack_missing(self, m_check_call):
     m_check_call.side_effect = futils.FailedSystemCall(
         "message",
         [],
         1,
         "",
         "0 flow entries"
     )
     devices.remove_conntrack_flows(set(["10.0.0.1"]), 4)
     self.assertEqual(m_check_call.mock_calls, [
         mock.call(["conntrack", "--family", "ipv4", "--delete",
                    "--orig-src", "10.0.0.1"]),
         mock.call(["conntrack", "--family", "ipv4", "--delete",
                    "--orig-dst", "10.0.0.1"]),
         mock.call(["conntrack", "--family", "ipv4", "--delete",
                    "--reply-src", "10.0.0.1"]),
         mock.call(["conntrack", "--family", "ipv4", "--delete",
                    "--reply-dst", "10.0.0.1"]),
     ])