aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/vagrant
AgeCommit message (Expand)AuthorFilesLines
2017-04-20Move vagrant stuff to extras/Damjan Marion11-401/+1
2017-02-02Update default Vagrant box to Ubuntu 16.04, VPP-616Dave Wallace3-12/+22
2017-01-17vagrant: stop rsync from wiping changes from /vppPadraig Connolly1-15/+18
2016-12-21vagrant: Fixing sudo related vagrant errorsRay Kinsella1-5/+8
2016-12-21vagrant: updated Vagrantfile to use rsyncRay Kinsella2-58/+16
2016-10-22VPP-504: Permissions Error on Centos Vagrant VPP VMBilly McFall1-1/+1
2016-09-27VPP-308: Added workaround for failed vnet build. For some reasonThomas F Herbert1-0/+1
2016-09-02VPP-373: stop building from /vpp mountEd Warnicke3-5/+63
2016-08-02Fix for broken vagrant installs when using Vagrant 1.8.5.Thomas F Herbert1-0/+1
2016-07-21build-root/vagrant: Fix SSE4.x for VBRay1-0/+4
2016-06-25Vagrantfile RAM default is too small.Keith Burns (alagalah)2-2/+2
2016-06-21Vagrantfile syntax error correction - requires string input instead of integer.Srivatsa Sangli1-1/+1
2016-06-20Using env.sh file for Vagrantfile inputs, but assume some defaultsKeith Burns (alagalah)4-63/+98
2016-06-05VPP-112: linux kernel info missing from build logDave Wallace1-0/+9
2016-06-01vagrant: disable automatic update on startThomas Monjalon1-0/+1
2016-05-13Whitespace probe for CIEd Warnicke1-1/+1
2016-05-12Revert "Whitespace change for testing CI"Ed Warnicke1-1/+1
2016-05-12Whitespace change for testing CIEd Warnicke1-1/+1
2016-05-07Small improvement to vagrant fileEd Warnicke1-5/+5
2016-05-04Fix for unattended in MakefileEd Warnicke1-0/+12
2016-05-02Re-do java-8 handling, add unattended switch to toplevel MakefileDamjan Marion1-1/+1
2016-05-02Break out install.sh from build.shEd Warnicke3-2/+31
2016-05-02VPP-32 Increase # cpus to 2, leave RAM at 4G for virtualbox vagrant usersKeith Burns (alagalah)1-1/+3
2016-04-25Break boostrap.sh into piecesEd Warnicke8-111/+132
2016-04-20ubuntu 16.04 build support. Supporting systemd with vpp.service files.Srivatsa Sangli1-0/+39
2016-04-11vagrant: libvirt configuration.Jeff Shaw1-2/+6
2016-04-09Migrate bootstrap.ubuntu.sh to using top level MakefileEd Warnicke1-57/+12
2016-03-29Fix to centos vagrant fileEd Warnicke1-2/+2
2016-03-25Fix vagrant centos flavor to work with top level make fileEd Warnicke2-55/+31
2016-02-19Add GDB and GDB Server to bootstrap filesKeith Burns (alagalah)2-1/+5
2016-02-04Remove redundant apt-get install of dkms and debhelper.Dave Wallace1-3/+0
2016-02-04Change non-default route ethernet interfaces state to down so VPP will use them.Dave Wallace1-0/+12
2016-02-03Switched vagrant for ~/git/vpp to /vppEd Warnicke3-7/+25
2016-02-02Add pciutils to the CentOS vagrant bootstrap; needed to install vpp rpmsDave Barach1-0/+3
2016-02-02Enable ganglia module integration buildDave Barach1-0/+8
2016-02-01Changes to Centos bootstrap to remove ~/git/vpp if it exists before attemptin...Keith Burns (alagalah)1-1/+2
2016-02-01Vagrantfile doesn't rm git/vpp and vagrant reload --provisionKeith Burns (alagalah)1-1/+3
2016-01-28vpp metrics upload via gmond pluginDave Barach1-1/+1
2016-01-18build - Vagrant template to get more emulated PCI NICsVincent JARDIN1-0/+9
2016-01-11Fix vagrant grub issue with ubuntu & virtualboxMatt Johnson1-1/+4
2015-12-22Update vagrant/ to install vpp packages and use vppctlEd Warnicke2-26/+29
2015-12-14Fix to make it easy to use http proxy with VagrantEd Warnicke1-0/+7
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke5-0/+213
Show various debug prints after each test. """ super(TestL2xc, self).tearDown() def show_commands_at_teardown(self): self.logger.info(self.vapi.ppcli("show l2patch")) @classmethod def create_host_lists(cls, count): """ Method to create required number of MAC and IPv4 addresses. Create required number of host MAC addresses and distribute them among interfaces. Create host IPv4 address for every host MAC address too. :param count: Number of hosts to create MAC and IPv4 addresses for. """ for pg_if in cls.pg_interfaces: cls.hosts_by_pg_idx[pg_if.sw_if_index] = [] hosts = cls.hosts_by_pg_idx[pg_if.sw_if_index] for j in range(0, count): host = Host( "00:00:00:ff:%02x:%02x" % (pg_if.sw_if_index, j), "172.17.1%02x.%u" % (pg_if.sw_if_index, j)) hosts.append(host) def create_stream(self, src_if, packet_sizes, packets_per_burst): """ Create input packet stream for defined interface. :param object src_if: Interface to create packet stream for. :param list packet_sizes: List of required packet sizes. :param int packets_per_burst: Number of packets in burst. :return: Stream of packets. """ pkts = [] for i in range(0, packets_per_burst): dst_if = self.flows[src_if][0] dst_host = random.choice(self.hosts_by_pg_idx[dst_if.sw_if_index]) src_host = random.choice(self.hosts_by_pg_idx[src_if.sw_if_index]) pkt_info = self.create_packet_info(src_if, dst_if) payload = self.info_to_payload(pkt_info) p = (Ether(dst=dst_host.mac, src=src_host.mac) / IP(src=src_host.ip4, dst=dst_host.ip4) / UDP(sport=1234, dport=1234) / Raw(payload)) pkt_info.data = p.copy() size = random.choice(packet_sizes) self.extend_packet(p, size) pkts.append(p) return pkts def verify_capture(self, pg_if, capture): """ Verify captured input packet stream for defined interface. :param object pg_if: Interface to verify captured packet stream for. :param list capture: Captured packet stream. """ last_info = dict() for i in self.interfaces: last_info[i.sw_if_index] = None dst_sw_if_index = pg_if.sw_if_index for packet in capture: try: ip = packet[IP] udp = packet[UDP] payload_info = self.payload_to_info(packet[Raw]) packet_index = payload_info.index self.assertEqual(payload_info.dst, dst_sw_if_index) self.logger.debug("Got packet on port %s: src=%u (id=%u)" % (pg_if.name, payload_info.src, packet_index)) next_info = self.get_next_packet_info_for_interface2( payload_info.src, dst_sw_if_index, last_info[payload_info.src]) last_info[payload_info.src] = next_info self.assertTrue(next_info is not None) self.assertEqual(packet_index, next_info.index) saved_packet = next_info.data # Check standard fields self.assertEqual(ip.src, saved_packet[IP].src) self.assertEqual(ip.dst, saved_packet[IP].dst) self.assertEqual(udp.sport, saved_packet[UDP].sport) self.assertEqual(udp.dport, saved_packet[UDP].dport) except: self.logger.error(ppp("Unexpected or invalid packet:", packet)) raise for i in self.interfaces: remaining_packet = self.get_next_packet_info_for_interface2( i, dst_sw_if_index, last_info[i.sw_if_index]) self.assertTrue(remaining_packet is None, "Port %u: Packet expected from source %u didn't" " arrive" % (dst_sw_if_index, i.sw_if_index)) def run_l2xc_test(self, pkts_per_burst): """ L2XC test """ # Create incoming packet streams for packet-generator interfaces for i in self.interfaces: pkts = self.create_stream(i, self.pg_if_packet_sizes, pkts_per_burst) i.add_stream(pkts) # Enable packet capturing and start packet sending self.pg_enable_capture(self.pg_interfaces) self.pg_start() # Verify outgoing packet streams per packet-generator interface for i in self.pg_interfaces: capture = i.get_capture() self.logger.info("Verifying capture on interface %s" % i.name) self.verify_capture(i, capture) def test_l2xc_sl(self): """ L2XC single-loop test Test scenario: 1. config 2 pairs of 2 interfaces, l2xconnected 2. sending l2 eth packets between 4 interfaces 64B, 512B, 1518B, 9018B (ether_size) burst of 2 packets per interface """ self.run_l2xc_test(self.sl_pkts_per_burst) def test_l2xc_dl(self): """ L2XC dual-loop test Test scenario: 1. config 2 pairs of 2 interfaces, l2xconnected 2. sending l2 eth packets between 4 interfaces 64B, 512B, 1518B, 9018B (ether_size) burst of 257 packets per interface """ self.run_l2xc_test(self.dl_pkts_per_burst) if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)