summaryrefslogtreecommitdiffstats
path: root/build-data/packages
AgeCommit message (Expand)AuthorFilesLines
2018-05-12dpdk: Add build related keywords for failsafe PMDRui Cai2-0/+8
2018-04-27Move VOM to extras/vomDamjan Marion1-0/+6
2018-03-28Build libmemif as part of verify jobDamjan Marion2-0/+4
2018-03-15use system provided ccache linksDamjan Marion1-0/+1
2018-03-12License text cleanupDave Barach8-0/+101
2017-09-01The build system still builds the DPDK plugin when the optionMarco Varlese1-0/+2
2017-08-14dpdk: cleanup unused build option *_uses_dpdk_cryptodev_swSergio Gonzalez Monroy2-8/+0
2017-05-03Fix vnet unit testsFilip Tehlar1-0/+4
2017-04-20Extend ebuild to specify "configure" subdir, enable verify for sample-pluginDamjan Marion1-0/+5
2017-02-07Multiple platofrm support for dpdk/Makefile, fix optimizationsDamjan Marion1-12/+0
2017-01-27dpdk: rework cryptodev ipsec build and setupSergio Gonzalez Monroy2-5/+5
2017-01-20Add dpdk development packagingDamjan Marion2-4/+5
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion3-90/+0
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion18-297/+18
2016-12-26dpdk: Add support for Mellanox ConnectX-4 devicesDamjan Marion3-0/+11
2016-12-06Add "vpp-api-install" to plugins_configure_depend in build-data/packages/plug...Andrew Yourtchenko1-1/+2
2016-11-30Enabling AES-GCM-128 with 16B ICV supportRadu Nicolau1-0/+4
2016-11-28dpdk: add ipsec cryptodev supportSergio Gonzalez Monroy3-0/+10
2016-10-10HONEYCOMB-228 Snat plugin jvpp supportMarek Gradzki1-1/+2
2016-06-22Fix for build failure due to iOAM plugin header file pathShwetha1-0/+5
2016-06-156rd: Move to pluginOle Troan1-0/+38
2016-06-05VPP-94: Add build-data directory for plugins and Makefile targetPierre Pfister1-47/+0
2016-05-27Fix dpdk march/mtune defaultsDamjan Marion1-1/+1
2016-05-20VPP-79: fix cross-compilation build breakDave Barach1-3/+3
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion1-0/+6
2016-05-17dpdk/Makefile - Allow dpdk target to be set according to the platformChristophe Fontaine1-0/+10
2016-04-28VPP-8: Set java-8 for JNIMarek Gradzki1-1/+1
2016-04-20Python-API: Inital commit of Python bindings for the VPP API.Ole Troan1-4/+4
2016-04-18Add support for AArch32Christophe Fontaine2-4/+12
2016-04-12Add unit test infrastructure for LISP protocolFilip Tehlar1-0/+4
2016-04-11Add configure option to enable building unit testsDamjan Marion1-1/+4
2016-04-01Add options to link with external DPDK treeDamjan Marion5-2/+31
2016-03-25vpp-api-test and sample-plugin should depend on dpdk conditionallyDamjan Marion2-12/+13
2016-02-27Invert matching logic for *_uses_dpdk in build-data/packages/*.mkDamjan Marion3-3/+3
2016-02-26Update PowerPC (qppc) platform to build with Ubuntu cross-toolsDamjan Marion5-98/+0
2016-02-26Add support for native vpp_lite (non-dpdk) platformDamjan Marion3-10/+20
2016-02-12Performance tools, initial check-inDave Barach2-0/+10
2016-02-02Enable ganglia module integration buildDave Barach1-1/+1
2016-01-29Rationalize metric names.Dave Barach1-2/+2
2016-01-28vpp metrics upload via gmond pluginDave Barach1-0/+9
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach12-34/+187
2016-01-21PowerPC64-be arch support. Qemu ("qppc") platform support.Dave Barach5-0/+100
2015-12-16Move vppctl to vpp-api-testDamjan Marion1-11/+0
2015-12-16Add vppctl as a simple cli interface to vppEd Warnicke1-0/+11
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke11-0/+198
type(self).mcast_mac) # Verify VXLAN-GPE tunnel src IP is VPP_IP and dst IP is MY_IP. self.assertEqual(pkt[IP].src, self.pg0.local_ip4) if not local_only: if not mcast_pkt: self.assertEqual(pkt[IP].dst, self.pg0.remote_ip4) else: self.assertEqual(pkt[IP].dst, type(self).mcast_ip4) # Verify UDP destination port is VXLAN-GPE 4790, source UDP port # could be arbitrary. self.assertEqual(pkt[UDP].dport, type(self).dport) # Verify UDP checksum self.assert_udp_checksum_valid(pkt) # Verify VNI self.assertEqual(pkt[VXLAN].vni, vni) @classmethod def create_vxlan_gpe_flood_test_bd(cls, vni, n_ucast_tunnels): # Create 10 ucast vxlan tunnels under bd ip_range_start = 10 ip_range_end = ip_range_start + n_ucast_tunnels next_hop_address = cls.pg0.remote_ip4 for dest_ip4 in ip4_range(next_hop_address, ip_range_start, ip_range_end): # add host route so dest_ip4n will not be resolved rip = VppIpRoute(cls, dest_ip4, 32, [VppRoutePath(next_hop_address, INVALID_INDEX)], register=False) rip.add_vpp_config() r = cls.vapi.vxlan_gpe_add_del_tunnel( src_addr=cls.pg0.local_ip4, dst_addr=dest_ip4, vni=vni) cls.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=r.sw_if_index, bd_id=vni) @classmethod def add_del_shared_mcast_dst_load(cls, is_add): """ add or del tunnels sharing the same mcast dst to test vxlan_gpe ref_count mechanism """ n_shared_dst_tunnels = 20 vni_start = 1000 vni_end = vni_start + n_shared_dst_tunnels for vni in range(vni_start, vni_end): r = cls.vapi.vxlan_gpe_add_del_tunnel( local=cls.pg0.local_ip4, remote=cls.mcast_ip4, mcast_sw_if_index=1, vni=vni, is_add=is_add) if r.sw_if_index == 0xffffffff: raise ValueError("bad sw_if_index: ~0") @classmethod def add_shared_mcast_dst_load(cls): cls.add_del_shared_mcast_dst_load(is_add=1) @classmethod def del_shared_mcast_dst_load(cls): cls.add_del_shared_mcast_dst_load(is_add=0) @classmethod def add_del_mcast_tunnels_load(cls, is_add): """ add or del tunnels to test vxlan_gpe stability """ n_distinct_dst_tunnels = 20 ip_range_start = 10 ip_range_end = ip_range_start + n_distinct_dst_tunnels for dest_ip4 in ip4_range(cls.mcast_ip4, ip_range_start, ip_range_end): vni = int(dest_ip4.split(".")[3]) cls.vapi.vxlan_gpe_add_del_tunnel( src_addr=cls.pg0.local_ip4, dst_addr=dest_ip4, mcast_sw_if_index=1, vni=vni, is_add=is_add) @classmethod def add_mcast_tunnels_load(cls): cls.add_del_mcast_tunnels_load(is_add=1) @classmethod def del_mcast_tunnels_load(cls): cls.add_del_mcast_tunnels_load(is_add=0) # Class method to start the VXLAN-GPE test case. # Overrides setUpClass method in VppTestCase class. # Python try..except statement is used to ensure that the tear down of # the class will be executed even if exception is raised. # @param cls The class pointer. @classmethod def setUpClass(cls): super(TestVxlanGpe, cls).setUpClass() try: cls.dport = 4790 cls.flags = 0x0c # Create 2 pg interfaces. cls.create_pg_interfaces(range(4)) for pg in cls.pg_interfaces: pg.admin_up() # Configure IPv4 addresses on VPP pg0. cls.pg0.config_ip4() # Resolve MAC address for VPP's IP address on pg0. cls.pg0.resolve_arp() # Our Multicast address cls.mcast_ip4 = '239.1.1.1' cls.mcast_mac = util.mcast_ip_to_mac(cls.mcast_ip4) # Create VXLAN-GPE VTEP on VPP pg0, and put vxlan_gpe_tunnel0 # and pg1 into BD. cls.single_tunnel_vni = 0xabcde cls.single_tunnel_bd = 11 r = cls.vapi.vxlan_gpe_add_del_tunnel( src_addr=cls.pg0.local_ip4, dst_addr=cls.pg0.remote_ip4, vni=cls.single_tunnel_vni) cls.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=r.sw_if_index, bd_id=cls.single_tunnel_bd) cls.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=cls.pg1.sw_if_index, bd_id=cls.single_tunnel_bd) # Setup vni 2 to test multicast flooding cls.n_ucast_tunnels = 10 cls.mcast_flood_bd = 12 cls.create_vxlan_gpe_flood_test_bd(cls.mcast_flood_bd, cls.n_ucast_tunnels) r = cls.vapi.vxlan_gpe_add_del_tunnel( src_addr=cls.pg0.local_ip4, dst_addr=cls.mcast_ip4, mcast_sw_if_index=1, vni=cls.mcast_flood_bd) cls.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=r.sw_if_index, bd_id=cls.mcast_flood_bd) cls.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=cls.pg2.sw_if_index, bd_id=cls.mcast_flood_bd) # Add and delete mcast tunnels to check stability cls.add_shared_mcast_dst_load() cls.add_mcast_tunnels_load() cls.del_shared_mcast_dst_load() cls.del_mcast_tunnels_load() # Setup vni 3 to test unicast flooding cls.ucast_flood_bd = 13 cls.create_vxlan_gpe_flood_test_bd(cls.ucast_flood_bd, cls.n_ucast_tunnels) cls.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=cls.pg3.sw_if_index, bd_id=cls.ucast_flood_bd) except Exception: super(TestVxlanGpe, cls).tearDownClass() raise @classmethod def tearDownClass(cls): super(TestVxlanGpe, cls).tearDownClass() @unittest.skip("test disabled for vxlan-gpe") def test_mcast_flood(self): """ inherited from BridgeDomain """ pass @unittest.skip("test disabled for vxlan-gpe") def test_mcast_rcv(self): """ inherited from BridgeDomain """ pass # Method to define VPP actions before tear down of the test case. # Overrides tearDown method in VppTestCase class. # @param self The object pointer. def tearDown(self): super(TestVxlanGpe, self).tearDown() def show_commands_at_teardown(self): self.logger.info(self.vapi.cli("show bridge-domain 11 detail")) self.logger.info(self.vapi.cli("show bridge-domain 12 detail")) self.logger.info(self.vapi.cli("show bridge-domain 13 detail")) self.logger.info(self.vapi.cli("show int")) self.logger.info(self.vapi.cli("show vxlan-gpe")) self.logger.info(self.vapi.cli("show trace")) if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)