aboutsummaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Expand)AuthorFilesLines
2019-08-07Update trending vpp refjuraj.linkes118-354/+354
2019-08-02Add 3n-tsh mrr data to trending docsjuraj.linkes27-0/+698
2019-08-01Trending: Fix static content in dashboardTibor Frank1-6/+6
2019-07-25docs: fixed TOC and list indexes in testbed specificationMaciek Konstantynowicz1-63/+63
2019-07-25docs: updated testbed specification with clx buildMaciek Konstantynowicz1-142/+408
2019-07-19PLRsearch methodology: Add more comments to graphsVratko Polak3-25/+151
2019-07-17Use PapiSocketProvider for most PAPI callsVratko Polak2-0/+6
2019-07-10Bash functions style cleanupVratko Polak1-15/+21
2019-07-08Next IETF draft version for PLRsearchVratko Polak1-186/+145
2019-07-08Update of draft-vpolak-mkonstan-bmwg-mlrsearch-01->02.Maciek Konstantynowicz2-362/+488
2019-07-08Update draft-mkonstan-nf-service-density-00->01Maciek Konstantynowicz1-65/+174
2019-07-04Update draft-vpolak-bmwg-plrsearch-01->02Maciek Konstantynowicz2-229/+1
2019-06-19Add 2-node and 3-node denverton to specificationsYulong Pei1-7/+82
2019-06-19Add scale ipsec tunnel testsPeter Mikus1-2/+2
2019-06-17Report 1904: Configure rls 1904.25Tibor Frank1-0/+5
2019-06-10Report: Configure report 1904.24Tibor Frank1-0/+5
2019-06-03Report: Configure Report 1904.23Tibor Frank1-0/+5
2019-05-24CSIT-1425 Upgrade TRex to v2.54Tibor Frank1-4/+3
2019-05-24Report: Configure Report 1904.22Tibor Frank1-7/+12
2019-05-23CSIT-1506: Rework IPsec base testcasesPeter Mikus1-4/+24
2019-05-22Report: Update report historyTibor Frank1-0/+5
2019-05-17Report: Fix internal links to PLRsearch methodologyVratko Polak3-3/+3
2019-05-16Improve soak graphs and contentVratko Polak2-5/+7
2019-05-16CSIT-1488: Add data to the Report 1904Tibor Frank1-0/+3
2019-05-16Report: Configure 1904.21Tibor Frank1-0/+3
2019-05-15Report: Add pdf versionTibor Frank1-7/+9
2019-05-15PLRsearch methodology: Add graphs with descriptions.Vratko Polak5-6976/+22451
2019-05-15Report: update known perf issuesJan Gelety1-0/+6
2019-05-15Trending: Add IPSECSWTibor Frank3-2/+47
2019-05-14CSIT-1504: Soak tests - graphTibor Frank3-8/+28
2019-05-13CSIT-1500: Add comparison table for SOAK vs NDRPDRTibor Frank2-1/+19
2019-05-13Report: Add SOAK TestsTibor Frank3-3/+5
2019-05-13CSIT-1488: Add data to the Report 1904Tibor Frank1-1/+5
2019-05-13Report: Configuration for 1904.20Tibor Frank1-0/+3
2019-05-10Update perf release notes 1904Peter Mikus1-4/+7
2019-05-10Report: Hide DMMTibor Frank4-25/+25
2019-05-10report: added missing sub-section header in methodology throughputMaciek Konstantynowicz1-0/+3
2019-05-10Update PLRsearch methodology to latest codeVratko Polak1-286/+105
2019-05-10report: edits of methodology mlrsearch sectionMaciek Konstantynowicz2-265/+29
2019-05-10Report: VPP_func update 2Jan Gelety1-2/+1
2019-05-10Update release notes 1904Peter Mikus1-5/+8
2019-05-10report: further edits of methodology throughput sectionsMaciek Konstantynowicz8-142/+200
2019-05-10Release notes: 1904Peter Mikus2-30/+18
2019-05-10Report: VPP_func updateJan Gelety1-239/+81
2019-05-09Report: hide soak testsTibor Frank2-2/+2
2019-05-09Report: nfv density graphs - update static contentTibor Frank3-9/+17
2019-05-09Report: Remove DenvertonTibor Frank13-33/+57
2019-05-09Report: Remove LigatoTibor Frank8-18/+17
2019-05-08report: edits to methodology_kvm_vms_vhost_userMaciek Konstantynowicz1-46/+57
2019-05-08report: edits of methodology throughput sectionsMaciek Konstantynowicz5-31/+84
e(NUM_PKTS, timeout=1) # # input on pg4 (SHG=1) expect copies on pg0->3 (SHG=0) # and pg8->12 (SHG=2) # self.pg4.add_stream(p*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() for i in self.pg_interfaces[:4]: rx0 = i.get_capture(NUM_PKTS, timeout=1) for i in self.pg_interfaces[8:13]: rx0 = i.get_capture(NUM_PKTS, timeout=1) for i in self.pg_interfaces[4:8]: i.assert_nothing_captured(remark="Different SH group") # # cleanup # for i in self.pg_interfaces[:12]: self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index, bd_id=1, enable=0) for i in self.bvi_interfaces: self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index, bd_id=1, shg=2, port_type=L2_PORT_TYPE.BVI, enable=0) self.vapi.bridge_domain_add_del(bd_id=1, is_add=0) def test_flood_one(self): """ L2 no-Flood Test """ # # Create a single bridge Domain # self.vapi.bridge_domain_add_del(bd_id=1) # # add 2 interfaces to the BD. this means a flood goes to only # one member # for i in self.pg_interfaces[:2]: self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index, bd_id=1, shg=0) p = (Ether(dst="ff:ff:ff:ff:ff:ff", src="00:00:de:ad:be:ef") / IP(src="10.10.10.10", dst="1.1.1.1") / UDP(sport=1234, dport=1234) / Raw(b'\xa5' * 100)) # # input on pg0 expect copies on pg1 # self.send_and_expect(self.pg0, p*NUM_PKTS, self.pg1) # # cleanup # for i in self.pg_interfaces[:2]: self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index, bd_id=1, enable=0) self.vapi.bridge_domain_add_del(bd_id=1, is_add=0) def test_uu_fwd(self): """ UU Flood """ # # Create a single bridge Domain # self.vapi.bridge_domain_add_del(bd_id=1, uu_flood=1) # # add each interface to the BD. 3 interfaces per split horizon group # for i in self.pg_interfaces[0:4]: self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index, bd_id=1, shg=0) # # an unknown unicast and broadcast packets # p_uu = (Ether(dst="00:00:00:c1:5c:00", src="00:00:de:ad:be:ef") / IP(src="10.10.10.10", dst="1.1.1.1") / UDP(sport=1234, dport=1234) / Raw(b'\xa5' * 100)) p_bm = (Ether(dst="ff:ff:ff:ff:ff:ff", src="00:00:de:ad:be:ef") / IP(src="10.10.10.10", dst="1.1.1.1") / UDP(sport=1234, dport=1234) / Raw(b'\xa5' * 100)) # # input on pg0, expected copies on pg1->4 # self.pg0.add_stream(p_uu*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() for i in self.pg_interfaces[1:4]: rx0 = i.get_capture(NUM_PKTS, timeout=1) self.pg0.add_stream(p_bm*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() for i in self.pg_interfaces[1:4]: rx0 = i.get_capture(NUM_PKTS, timeout=1) # # use pg8 as the uu-fwd interface # self.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0, port_type=L2_PORT_TYPE.UU_FWD) # # expect the UU packet on the uu-fwd interface and not be flooded # self.pg0.add_stream(p_uu*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() rx0 = self.pg8.get_capture(NUM_PKTS, timeout=1) for i in self.pg_interfaces[0:4]: i.assert_nothing_captured(remark="UU not flooded") self.pg0.add_stream(p_bm*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() for i in self.pg_interfaces[1:4]: rx0 = i.get_capture(NUM_PKTS, timeout=1) # # remove the uu-fwd interface and expect UU to be flooded again # self.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0, port_type=L2_PORT_TYPE.UU_FWD, enable=0) self.pg0.add_stream(p_uu*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() for i in self.pg_interfaces[1:4]: rx0 = i.get_capture(NUM_PKTS, timeout=1) # # change the BD config to not support UU-flood # self.vapi.bridge_flags(bd_id=1, is_set=0, flags=BRIDGE_FLAGS.UU_FLOOD) self.send_and_assert_no_replies(self.pg0, p_uu) # # re-add the uu-fwd interface # self.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0, port_type=L2_PORT_TYPE.UU_FWD) self.logger.info(self.vapi.cli("sh bridge 1 detail")) self.pg0.add_stream(p_uu*NUM_PKTS) self.pg_enable_capture(self.pg_interfaces) self.pg_start() rx0 = self.pg8.get_capture(NUM_PKTS, timeout=1) for i in self.pg_interfaces[0:4]: i.assert_nothing_captured(remark="UU not flooded") # # remove the uu-fwd interface # self.vapi.sw_interface_set_l2_bridge( rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0, port_type=L2_PORT_TYPE.UU_FWD, enable=0) self.send_and_assert_no_replies(self.pg0, p_uu) # # cleanup # for i in self.pg_interfaces[:4]: self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index, bd_id=1, enable=0) self.vapi.bridge_domain_add_del(bd_id=1, is_add=0) if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)