aboutsummaryrefslogtreecommitdiffstats
path: root/docs/cpta
AgeCommit message (Expand)AuthorFilesLines
2020-10-05Trending: Add NAT44Tibor Frank7-76/+476
2020-09-24Trending: Replace snat by natTibor Frank2-14/+14
2020-09-23Trending: Fix graph file nameTibor Frank1-3/+3
2020-09-22Trending: Hide 2n-clx-cx556aTibor Frank10-10/+28
2020-09-16Trending: Add snat44det tests to trending graphsTibor Frank2-0/+76
2020-09-03Trending, Report: use test tag ethip4udp-snat44det-h1-p1-s1Tibor Frank1-0/+45
2020-08-17Trending: Fixes after reviewTibor Frank3-18/+18
2020-08-13Trending: NFV TestsTibor Frank13-99/+240
2020-08-04Trending: Implement the latest changes in job specsTibor Frank76-2397/+1334
2020-05-19Trending: CSIT-1717: Add links from dashboard to graphsTibor Frank6-0/+48
2020-05-15Trending: Add alerts for NDRPDR weekly testsTibor Frank4-17/+37
2020-05-15Trending: Add NDRPDR trending graphsTibor Frank62-3/+4016
2020-05-05Trending: CSIT-1301: Display stdev in hover infoTibor Frank3-33/+72
2020-04-28Trending: NDRPDR weekly comparisonTibor Frank2-0/+78
2020-04-22Trending: Fixes in plots, dataTibor Frank2-2/+7
2020-04-20Trending: Update graphs - dnvTibor Frank6-298/+50
2020-04-03Trending: Update graphs - 3n-tshTibor Frank5-154/+107
2020-04-03Trending: Update graphs - 3n-hswTibor Frank1-12/+0
2020-04-02Trending: Update graphs - 2n-clxTibor Frank9-118/+443
2020-03-30Trending: Update graphs - 3n-skxTibor Frank12-251/+422
2020-03-26Trending: Update graphsTibor Frank9-101/+343
2020-02-18Trending: PlotsTibor Frank42-457/+457
2020-01-31Trending: Add mellanoxTibor Frank13-0/+535
2020-01-07Trending: Move VTS tests from 3n to 2nTibor Frank4-116/+8
2019-12-10Trendig" Fix NFV graphTibor Frank1-2/+2
2019-12-10Trending: Add more NFV testsTibor Frank6-26/+74
2019-12-04Trending: ReorganizationTibor Frank182-5065/+4040
2019-08-09Trending: TSH ipsec testsTibor Frank2-8/+63
2019-08-08Trending: ipsecTibor Frank18-191/+326
2019-08-08Trending: Add dnv mrr testsTibor Frank16-1/+407
2019-08-083n-tsh trending docs fixesjuraj.linkes7-237/+3
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-05-15Trending: Add IPSECSWTibor Frank3-2/+47
2019-04-18Add perpatch info to cpta methodologyVratko Polak8-270/+360
2019-04-18CSIT-1482: Change trending graphsTibor Frank6-0/+11
2019-04-01CSIT-1412: Create trending graphs for svc densityTibor Frank5-0/+205
2019-02-20CSIT-1436: Add titles to plots in TrendingTibor Frank117-2726/+684
2019-02-18Doc: Methodology update for /new/ trendingVratko Polak1-54/+68
2019-01-14CSIT-1402: Add VICs to trendingTibor Frank3-0/+126
2019-01-07Updated trending methodology doc.Maciek Konstantynowicz1-7/+15
2018-11-30CSIT-1299: Revise the graphs in TrendingTibor Frank1-4/+1
2018-09-12CSIT-1269: Add VTS tests to trendingTibor Frank3-0/+70
2018-09-07CSIT-1270: Split feature tests in trendingTibor Frank12-36/+414
2018-09-07CSIT-1262: Add 2n/3n-skx to trendingTibor Frank121-2871/+6733
2018-06-29CSIT-1124: Support multi-sample testsTibor Frank11-0/+397
2018-06-20FIX: PAL - list of failed testsTibor Frank3-25/+20
2018-06-20CSIT-1110: Replace old trending with the new oneVratko Polak2-95/+95
2018-06-18CSIT-1126: Detection and reporting of failed MRR testsTibor Frank1-11/+33
/span> self.send_and_expect(self.pg1, pkts_1[2] * NUM_PKTS, self.pg3) # # check that if the SVS lookup does not match a route the packet # is forwarded using the interface's routing table # p = (Ether(dst=self.pg0.local_mac, src=self.pg0.remote_mac) / IP(src=self.pg0.remote_ip4, dst=self.pg0.remote_ip4) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)) self.send_and_expect(self.pg0, p * NUM_PKTS, self.pg0) p = (Ether(dst=self.pg1.local_mac, src=self.pg1.remote_mac) / IP(src=self.pg1.remote_ip4, dst=self.pg1.remote_ip4) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)) self.send_and_expect(self.pg1, p * NUM_PKTS, self.pg1) # # dump the SVS configs # ss = self.vapi.svs_dump() self.assertEqual(ss[0].table_id, table_ids[0]) self.assertEqual(ss[0].sw_if_index, self.pg0.sw_if_index) self.assertEqual(ss[0].af, VppEnum.vl_api_address_family_t.ADDRESS_IP4) self.assertEqual(ss[1].table_id, table_ids[1]) self.assertEqual(ss[1].sw_if_index, self.pg1.sw_if_index) self.assertEqual(ss[1].af, VppEnum.vl_api_address_family_t.ADDRESS_IP4) # # cleanup # self.vapi.svs_enable_disable( VppEnum.vl_api_address_family_t.ADDRESS_IP4, table_ids[0], self.pg0.sw_if_index, is_enable=0) self.vapi.svs_enable_disable( VppEnum.vl_api_address_family_t.ADDRESS_IP4, table_ids[1], self.pg1.sw_if_index, is_enable=0) for table_id in table_ids: for i in range(1, 4): self.vapi.svs_route_add_del( table_id, "%d.0.0.0/8" % i, 0, is_add=0) self.vapi.svs_table_add_del( VppEnum.vl_api_address_family_t.ADDRESS_IP4, table_id, is_add=0) def test_svs6(self): """ Source VRF Select IP6 """ # # packets destined out of the 3 non-default table interfaces # pkts_0 = [(Ether(dst=self.pg0.local_mac, src=self.pg0.remote_mac) / IPv6(src="2001:1::1", dst=self.pg1.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)), (Ether(dst=self.pg0.local_mac, src=self.pg0.remote_mac) / IPv6(src="2001:2::1", dst=self.pg2.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)), (Ether(dst=self.pg0.local_mac, src=self.pg0.remote_mac) / IPv6(src="2001:3::1", dst=self.pg3.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100))] pkts_1 = [(Ether(dst=self.pg1.local_mac, src=self.pg1.remote_mac) / IPv6(src="2001:1::1", dst=self.pg1.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)), (Ether(dst=self.pg1.local_mac, src=self.pg1.remote_mac) / IPv6(src="2001:2::1", dst=self.pg2.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)), (Ether(dst=self.pg1.local_mac, src=self.pg1.remote_mac) / IPv6(src="2001:3::1", dst=self.pg3.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100))] # # before adding the SVS config all these packets are dropped when # ingressing on pg0 since pg0 is in the default table # for p in pkts_0: self.send_and_assert_no_replies(self.pg0, p * 1) # # Add table 1001 & 1002 into which we'll add the routes # determining the source VRF selection # table_ids = [101, 102] for table_id in table_ids: self.vapi.svs_table_add_del( VppEnum.vl_api_address_family_t.ADDRESS_IP6, table_id) # # map X.0.0.0/8 to each SVS table for lookup in table X # for i in range(1, 4): self.vapi.svs_route_add_del( table_id, "2001:%d::/32" % i, i) # # Enable SVS on pg0/pg1 using table 1001/1002 # self.vapi.svs_enable_disable( VppEnum.vl_api_address_family_t.ADDRESS_IP6, table_ids[0], self.pg0.sw_if_index) self.vapi.svs_enable_disable( VppEnum.vl_api_address_family_t.ADDRESS_IP6, table_ids[1], self.pg1.sw_if_index) # # now all the packets should be delivered out the respective interface # self.send_and_expect(self.pg0, pkts_0[0] * NUM_PKTS, self.pg1) self.send_and_expect(self.pg0, pkts_0[1] * NUM_PKTS, self.pg2) self.send_and_expect(self.pg0, pkts_0[2] * NUM_PKTS, self.pg3) self.send_and_expect(self.pg1, pkts_1[0] * NUM_PKTS, self.pg1) self.send_and_expect(self.pg1, pkts_1[1] * NUM_PKTS, self.pg2) self.send_and_expect(self.pg1, pkts_1[2] * NUM_PKTS, self.pg3) # # check that if the SVS lookup does not match a route the packet # is forwarded using the interface's routing table # p = (Ether(dst=self.pg0.local_mac, src=self.pg0.remote_mac) / IPv6(src=self.pg0.remote_ip6, dst=self.pg0.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)) self.send_and_expect(self.pg0, p * NUM_PKTS, self.pg0) p = (Ether(dst=self.pg1.local_mac, src=self.pg1.remote_mac) / IPv6(src=self.pg1.remote_ip6, dst=self.pg1.remote_ip6) / UDP(sport=1234, dport=1234) / Raw('\xa5' * 100)) self.send_and_expect(self.pg1, p * NUM_PKTS, self.pg1) # # dump the SVS configs # ss = self.vapi.svs_dump() self.assertEqual(ss[0].table_id, table_ids[0]) self.assertEqual(ss[0].sw_if_index, self.pg0.sw_if_index) self.assertEqual(ss[0].af, VppEnum.vl_api_address_family_t.ADDRESS_IP6) self.assertEqual(ss[1].table_id, table_ids[1]) self.assertEqual(ss[1].sw_if_index, self.pg1.sw_if_index) self.assertEqual(ss[1].af, VppEnum.vl_api_address_family_t.ADDRESS_IP6) # # cleanup # self.vapi.svs_enable_disable( VppEnum.vl_api_address_family_t.ADDRESS_IP6, table_ids[0], self.pg0.sw_if_index, is_enable=0) self.vapi.svs_enable_disable( VppEnum.vl_api_address_family_t.ADDRESS_IP6, table_ids[1], self.pg1.sw_if_index, is_enable=0) for table_id in table_ids: for i in range(1, 4): self.vapi.svs_route_add_del( table_id, "2001:%d::/32" % i, 0, is_add=0) self.vapi.svs_table_add_del( VppEnum.vl_api_address_family_t.ADDRESS_IP6, table_id, is_add=0) if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)