summaryrefslogtreecommitdiffstats
path: root/src/vnet/feature
AgeCommit message (Expand)AuthorFilesLines
2018-11-26Add a feature arc consistency checkDave Barach2-0/+16
2018-11-19Improve feature arc order constraint specificationDave Barach3-13/+135
2018-10-03VPP-1426: CLI crash on 'set int feature'Paul Vinciguerra1-1/+1
2018-08-13Multiarch handling in different constructor macrosDamjan Marion1-0/+9
2018-07-19Remove unused argument to vlib_feature_nextDamjan Marion1-4/+4
2018-07-19Cleanup of handoff codeDamjan Marion1-14/+0
2018-05-27VPP-1294: add missing feature arc constraintDave Barach2-7/+42
2018-05-17Fix failure during enable/disable of featuresMatthew Smith1-3/+3
2018-04-27A bit of buffer metadata reshuffling to accommodate flow_idDamjan Marion1-9/+9
2018-04-09features: don't break linked list, create separate one for arcDamjan Marion3-5/+5
2018-04-09plugins: unload plugin if early init failsDamjan Marion1-0/+16
2018-04-03reassembly: bug fixesKlement Sekera1-2/+6
2018-03-07features: extend 'feature node not found' warning messageDamjan Marion1-2/+4
2018-02-26vnet: add vnet_device_input_have_features functionDamjan Marion1-0/+7
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-1/+1
2018-01-16Tolerate missing nodes during feature arc initialisationNeale Ranns1-2/+8
2017-11-10Break up vpe.apiNeale Ranns2-0/+176
2017-09-20Add ip6-local feature arcPierre Pfister1-1/+2
2017-08-18feature: exit on misconfigured features (VPP-915)Florin Coras1-3/+7
2017-03-17Fix IP feature ordering.Neale Ranns2-18/+0
2017-03-17Cache a 'has-features' flag on the adjacency for faster access. Reclaim the n...Neale Ranns1-0/+2
2017-03-06features: take device-input buffer advance value directlyDamjan Marion1-27/+35
2017-03-02VPP-648: CLI Memory leak with invalid parameterBilly McFall1-0/+1
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion3-0/+1146
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")