summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/linux
AgeCommit message (Expand)AuthorFilesLines
2018-10-23Numa-aware, growable physical memory allocator (pmalloc)Damjan Marion1-0/+6
2018-10-22vppinfra: use log2 page size in hugepage functionsDamjan Marion3-19/+27
2018-10-22Fix dereferencing null string in dpdk_early_initJuraj Sloboda1-0/+2
2018-10-19vppinfra: use memfd_create for hugepage mounts if supportedDamjan Marion1-25/+51
2018-10-16Fix coverity issue for potentially overflowing of page sizeHaiyang Tan1-2/+3
2018-10-10vppinfra: introduce clib_mem_vm_ext_free() to avoid fd leaksHaiyang Tan1-0/+11
2018-08-2832/64 shmem bihash interoperabilityDave Barach1-3/+3
2018-04-18vppinfra: make set_mempolicy failure non-critical unless NUMA_FORCE is setDamjan Marion1-1/+2
2018-04-11Clean up temp dir in failure casesDave Barach1-0/+3
2018-03-09Correct address calculation for VPP-1168Lee Roberts1-1/+1
2018-03-06glibc 2.27 fixMarco Varlese1-0/+2
2018-03-04vppinfra: fix clib_mem_vm_ext_alloc non-shared allocationsDamjan Marion1-3/+7
2018-02-06Provide page-aligned length to ftruncate.Igor Mikhailov (imichail)1-1/+1
2018-01-25session: add support for memfd segmentsFlorin Coras1-1/+1
2018-01-17ssvm: reuse clib mem infra for memfd segmentsFlorin Coras1-6/+51
2018-01-09physmem: fix physmem allocation on kernels without NUMA supportDamjan Marion1-4/+4
2017-09-27Various fixes for issues found by Coverity (VPP-972)Chris Luke1-0/+6
2017-09-18Fixes for issues Coverity has reported (VPP-972)Chris Luke1-1/+1
2017-09-15vppinfra: add clib_mem_vm_ext_alloc functionDamjan Marion4-0/+612
l2 import Ether, GRE from scapy.packet import Raw from framework import VppTestCase from util import ppp """ TestPing is a subclass of VPPTestCase classes. Basic test for sanity check of the ping. """ class TestPing(VppTestCase): """ Ping Test Case """ @classmethod def setUpClass(cls): super(TestPing, cls).setUpClass() try: cls.create_pg_interfaces(range(2)) cls.interfaces = list(cls.pg_interfaces) for i in cls.interfaces: i.admin_up() i.config_ip4() i.config_ip6() i.disable_ipv6_ra() i.resolve_arp() i.resolve_ndp() except Exception: super(TestPing, cls).tearDownClass() raise def tearDown(self): super(TestPing, self).tearDown() if not self.vpp_dead: self.vapi.cli("show hardware") def test_ping_basic(self): """ basic ping test """ try: self.pg_enable_capture(self.pg_interfaces) self.pg_start() self.logger.info(self.vapi.cli("show ip arp")) self.logger.info(self.vapi.cli("show ip6 neighbors")) remote_ip4 = self.pg1.remote_ip4 ping_cmd = "ping " + remote_ip4 + " interval 0.01 repeat 10" ret = self.vapi.cli(ping_cmd) self.logger.info(ret) out = self.pg1.get_capture(10) icmp_id = None icmp_seq = 1 for p in out: ip = p[IP] self.assertEqual(ip.version, 4) self.assertEqual(ip.flags, 0) self.assertEqual(ip.src, self.pg1.local_ip4) self.assertEqual(ip.dst, self.pg1.remote_ip4) self.assertEqual(ip.proto, 1) self.assertEqual(len(ip.options), 0) self.assertGreaterEqual(ip.ttl, 254) icmp = p[ICMP] self.assertEqual(icmp.type, 8) self.assertEqual(icmp.code, 0) self.assertEqual(icmp.seq, icmp_seq) icmp_seq = icmp_seq + 1 if icmp_id is None: icmp_id = icmp.id else: self.assertEqual(icmp.id, icmp_id) finally: self.vapi.cli("show error") def test_ping_burst(self): """ burst ping test """ try: self.pg_enable_capture(self.pg_interfaces) self.pg_start() self.logger.info(self.vapi.cli("show ip arp")) self.logger.info(self.vapi.cli("show ip6 neighbors")) remote_ip4 = self.pg1.remote_ip4 ping_cmd = "ping " + remote_ip4 + " interval 0.01 burst 3" ret = self.vapi.cli(ping_cmd) self.logger.info(ret) out = self.pg1.get_capture(3*5) icmp_id = None icmp_seq = 1 count = 0 for p in out: ip = p[IP] self.assertEqual(ip.version, 4) self.assertEqual(ip.flags, 0) self.assertEqual(ip.src, self.pg1.local_ip4) self.assertEqual(ip.dst, self.pg1.remote_ip4) self.assertEqual(ip.proto, 1) self.assertEqual(len(ip.options), 0) self.assertGreaterEqual(ip.ttl, 254) icmp = p[ICMP] self.assertEqual(icmp.type, 8) self.assertEqual(icmp.code, 0) self.assertEqual(icmp.seq, icmp_seq) count = count + 1 if count >= 3: icmp_seq = icmp_seq + 1 count = 0 if icmp_id is None: icmp_id = icmp.id else: self.assertEqual(icmp.id, icmp_id) finally: self.vapi.cli("show error")