Lines Matching refs:tunnel
599 tunnel = cls.INTERFACE_CLASS(iface, netid, underlying_netid, ifindex,
602 cls._SetupTunnelNetwork(tunnel, True)
605 cls.tunnelsV4[netid] = tunnel
607 cls.tunnelsV6[netid] = tunnel
613 for tunnel in list(cls.tunnelsV4.values()) + list(cls.tunnelsV6.values()):
614 cls._SetInboundMarking(tunnel.netid, tunnel.iface, False)
615 cls._SetupTunnelNetwork(tunnel, False)
616 tunnel.Teardown()
661 def _SetupTunnelNetwork(cls, tunnel, is_add): argument
683 "/proc/sys/net/ipv6/conf/%s/router_solicitations" % tunnel.iface, 0)
684 net_test.SetInterfaceUp(tunnel.iface)
687 ifindex = net_test.GetInterfaceIndex(tunnel.iface)
688 table = tunnel.netid
691 start, end = cls.UidRangeForTunnelNetId(tunnel.netid)
694 cls.iproute.OifRule(version, is_add, tunnel.iface, table, cls.PRIORITY_OIF)
695 cls.iproute.FwmarkRule(version, is_add, tunnel.netid, cls.NETID_FWMASK,
699 addr = cls._GetLocalAddress(version, tunnel.netid)
701 tunnel.addrs[version] = addr
709 def assertReceivedPacket(self, tunnel, sa_info): argument
710 tunnel.rx += 1
711 self.assertEqual((tunnel.rx, tunnel.tx),
712 self.iproute.GetRxTxPackets(tunnel.iface))
715 def assertSentPacket(self, tunnel, sa_info): argument
716 tunnel.tx += 1
717 self.assertEqual((tunnel.rx, tunnel.tx),
718 self.iproute.GetRxTxPackets(tunnel.iface))
721 def _CheckTunnelInput(self, tunnel, inner_version, local_inner, remote_inner, argument
725 sa_info = tunnel.in_sa
729 inner_version, remote_inner, tunnel.remote, _TEST_REMOTE_PORT,
730 local_inner, tunnel.local, local_port, sa_info.spi, sa_info.seq_num)
731 self.ReceivePacketOn(tunnel.underlying_netid, input_pkt)
739 self.assertReceivedPacket(tunnel, sa_info)
745 def _CheckTunnelOutput(self, tunnel, inner_version, local_inner, argument
749 sa_info = tunnel.out_sa
750 local_port = _SendPacket(self, tunnel.netid, inner_version, remote_inner,
755 pkt = self._ExpectEspPacketOn(tunnel.underlying_netid, sa_info.spi,
756 sa_info.seq_num, None, tunnel.local,
757 tunnel.remote)
772 inner_version, local_inner, tunnel.local, local_port, remote_inner,
773 tunnel.remote, _TEST_REMOTE_PORT, sa_info.spi, sa_info.seq_num,
778 self.assertSentPacket(tunnel, sa_info)
786 def _CheckTunnelEncryption(self, tunnel, inner_version, local_inner, argument
794 src_port = _SendPacket(self, tunnel.netid, inner_version, remote_inner,
798 pkt = self._ExpectEspPacketOn(tunnel.underlying_netid, tunnel.out_sa.spi,
799 tunnel.out_sa.seq_num, None, tunnel.local,
800 tunnel.remote)
806 self.assertEqual(tunnel.local, pkt.src)
807 self.assertEqual(tunnel.remote, pkt.dst)
810 self.assertSentPacket(tunnel, tunnel.out_sa)
815 tunnel.iface, new_addr=remote_inner, old_addr=local_inner)
822 self.ReceivePacketOn(tunnel.underlying_netid, pkt)
830 self.assertReceivedPacket(tunnel, tunnel.in_sa)
836 tunnel.iface, new_addr=local_inner, old_addr=remote_inner)
838 def _CheckTunnelIcmp(self, tunnel, inner_version, local_inner, remote_inner, argument
842 sa_info = tunnel.out_sa
848 }[tunnel.version]
850 local_port = _SendPacket(self, tunnel.netid, inner_version, remote_inner,
852 pkt = self._ExpectEspPacketOn(tunnel.underlying_netid, sa_info.spi,
853 sa_info.seq_num, None, tunnel.local,
854 tunnel.remote)
855 self.assertSentPacket(tunnel, sa_info)
857 myaddr = self.MyAddress(tunnel.version, tunnel.underlying_netid)
858 _, toobig = packets.ICMPPacketTooBig(tunnel.version, intermediate, myaddr,
860 self.ReceivePacketOn(tunnel.underlying_netid, toobig)
863 routes = self.iproute.GetRoutes(tunnel.remote, 0, tunnel.underlying_netid, None)
870 self.InvalidateDstCache(tunnel.version, tunnel.underlying_netid)
872 def _CheckTunnelEncryptionWithIcmp(self, tunnel, inner_version, local_inner, argument
875 self._CheckTunnelEncryption(tunnel, inner_version, local_inner,
877 self._CheckTunnelIcmp(tunnel, inner_version, local_inner, remote_inner)
878 self._CheckTunnelEncryption(tunnel, inner_version, local_inner,
881 def _RebuildTunnel(self, tunnel, use_null_crypt): argument
895 tunnel.TeardownXfrm()
896 tunnel.SetupXfrm(use_null_crypt)
900 tunnel = self.randomTunnel(outer_version)
903 self._RebuildTunnel(tunnel, use_null_crypt)
905 local_inner = tunnel.addrs[inner_version]
909 func(tunnel, inner_version, local_inner, remote_inner)
912 tunnel.TeardownXfrm()
913 tunnel.SetupXfrm(False)
915 def _CheckTunnelRekey(self, tunnel, inner_version, local_inner, remote_inner): argument
916 old_out_sa = tunnel.out_sa
917 old_in_sa = tunnel.in_sa
920 self._CheckTunnelInput(tunnel, inner_version, local_inner, remote_inner,
922 self._CheckTunnelOutput(tunnel, inner_version, local_inner, remote_inner,
926 outer_family = net_test.GetAddressFamily(tunnel.version)
934 tunnel.Rekey(outer_family, new_out_sa, new_in_sa)
937 self._CheckTunnelInput(tunnel, inner_version, local_inner, remote_inner,
941 self._CheckTunnelInput(tunnel, inner_version, local_inner, remote_inner,
943 self._CheckTunnelOutput(tunnel, inner_version, local_inner, remote_inner,
947 tunnel.DeleteOldSaInfo(outer_family, old_in_sa.spi, old_out_sa.spi)
950 self._CheckTunnelInput(tunnel, inner_version, local_inner, remote_inner,
952 self._CheckTunnelOutput(tunnel, inner_version, local_inner, remote_inner,
956 self._CheckTunnelInput(tunnel, inner_version, local_inner, remote_inner,
961 tunnel = self.randomTunnel(outer_version)
965 tunnel.TeardownXfrm()
966 tunnel.SetupXfrm(True)
968 local_inner = tunnel.addrs[inner_version]
971 self._CheckTunnelRekey(tunnel, inner_version, local_inner, remote_inner)
973 tunnel.TeardownXfrm()
974 tunnel.SetupXfrm(False)
1058 tunnel = XfrmInterface(iface, netid, underlying_netid, ifindex,
1061 self._SetupTunnelNetwork(tunnel, True)
1063 return tunnel
1065 def tearDownTunnel(self, tunnel): argument
1066 self._SetInboundMarking(tunnel.netid, tunnel.iface, False)
1067 self._SetupTunnelNetwork(tunnel, False)
1068 tunnel.Teardown()
1072 tunnel = self.randomTunnel(outer_version)
1074 old_underlying_netid = tunnel.underlying_netid
1075 old_local = tunnel.local
1076 old_remote = tunnel.remote
1080 self._RebuildTunnel(tunnel, use_null_crypt)
1083 local_inner = tunnel.addrs[inner_version]
1085 func(tunnel, inner_version, local_inner, remote_inner)
1088 new_underlying_netid = self.RandomNetid(exclude=tunnel.underlying_netid)
1093 tunnel.Migrate(new_underlying_netid, new_local, new_remote)
1096 func(tunnel, inner_version, local_inner, remote_inner)
1099 tunnel.TeardownXfrm()
1104 tunnel.SetupXfrm(False)