summaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2017-06-07make test: improve debugabilityKlement Sekera2-2/+3
Introduce faulthandler to print stack trace to stderr on python crash. Don't disable automatic garbage collection to decrease the chances of running out of memory. Change-Id: I6927a5f6ea9569735d084d4ed3d258950a400d74 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-06-06Packets recieved on VLAN-0 map to the main interfaceNeale Ranns2-2/+106
Change-Id: I21b1ad39275495d4d006023b58f630a213445854 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-06-06Rework vxlan-gpe to support FIB 2.0 and bypass modeHongjun Ni2-0/+348
Change-Id: I0324f945bdb4dd3b19151be6f3ce24a47a000104 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-06-05SNAT: fix ICMP hairpinningMatus Fabian1-2/+164
Change-Id: I9d63133bd1db72917571ade868040c4597c896a1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-06-01IP Mcast - recalculate on interface up/dowmNeale Ranns1-18/+24
Change-Id: Ie5b88fd7187ed62218a2e4e0e493c33e3e9ecc2f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-06-01make test: add suddenly missing dependency (six module)Klement Sekera1-1/+1
Change-Id: I121eaee6b752a6b3bfe1d5ecf803f67147c77beb Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-05-30Flowprobe: Stateful flows and IPv6, L4 recordingOle Troan2-173/+967
Change-Id: I67839281623721bf42f0a918a53356143d9dc78a Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2017-05-26MPLS lookup DPO does not pop the label (nor does it handle replicate)Neale Ranns1-0/+20
Change-Id: I7de6b96631d1645d0eadd38525860d84d78e316d Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-26ARP/ND use path_remove to complement path_addNeale Ranns2-0/+196
don't add duplicate extensions. Change-Id: Icf72d6e1b004d0dda532bec2b51f6b74544925bb Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-25MPLS hash function improvementsNeale Ranns3-41/+142
Change-Id: I28e98f445c01493562b6196a4f5b532a51f178af Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-24SNAT: fix IPFIX data src and dst portMatus Fabian1-4/+29
Change-Id: Ifa9582962710a3601fcccbbf388529043fc7f08a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-05-24Missing VLIB node for IPv6 disposition from mcast MPLS LSPNeale Ranns2-8/+78
Change-Id: Ibc0e1910a4926fdfbf74571efb5fd5810bfa09da Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-24Leak locks and tables in the ClassifierNeale Ranns1-2/+33
Change-Id: Iae04c57bba87ab3665388eadd0805f75171636a5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-24TEST/L2BD:fix flush testsEyal Bari1-66/+107
flush tests will now enable learning on the bridge, and send broadcast packets to add dynamic entries to the l2_fib. it will then disable learning, flush, and will verify packets are not forwarded to flushed "hosts". Change-Id: Ie6f123e59f6c89af511bdc5a02dd199420c424e9 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-05-23Labelled attached paths via an MPLS tunnelNeale Ranns1-2/+25
Change-Id: Ic86617c9c3217122043656ce2ea70bb106df5b2d Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-22Skip L2 FIB flush testsNeale Ranns1-0/+9
These tests attempt to flush static entries from a bridge-domain that has no aging configured. for both reasons it will fail. The fact thtat they occationally pass is due to the fact that the assert_nothing_cpatured does not actually capture packets, so it misses the fact that there are some. Change-Id: Ie5c98a42944e29a3d482156f7e9246511380372f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-17VPP-719: Accept ARP replies from VRRP hw addrMatthew Smith1-0/+75
Check whether an ARP src hw addr starts with 00:00:5e:00:01 before rejecting due to a mismatch between ARP src hw addr and ethernet frame src addr. Change-Id: Ia3ecd5d6dba34876aca8d90bc622a0a1397e48fb Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2017-05-17ARP learning fixes (VPP-843)Neale Ranns1-8/+30
learn ARP peers if, 1) it's a reply to a local address, 2) we are sending a response to a request. send proxy ARP responses only in the interface the request was sent. Change-Id: I22b949c65122824233076492b7dd537daca07bc2 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-16L2FIB: add flush testEyal Bari2-103/+219
add tests for flush int/bd/all Change-Id: Ia589ec5925b9c8acbb2fc16dafbf4842aa1a6eff Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-05-15Add GTP-U plugin. VPP-694Hongjun Ni2-0/+321
Basic GTP-U feature Change-Id: I31226f890a92c5303ac06e112ed7820cae52d9bd Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-05-11make test: support coverage for out-of-tree pluginsKlement Sekera1-0/+6
Change-Id: Ibd7828b1e1c699630ff450122d8aa317b1c9da26 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-05-10L2BD/TEST:fix l2bd multiinstance testEyal Bari1-104/+94
Change-Id: If864182ec656cc6c6353be642e22910a4fc89870 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-05-07Avoid active connection prevent timeout of idle conns after itAndrew Yourtchenko1-0/+304
Fix a logic error related to timing out of the connections following the active one. To avoid this class of issue in the future, create corresponding testcases, as well as some trivial sanity testcases for both IPv4 and IPv6. Since these tests are timing-dependent and take up time, mark them as extended tests. Change-Id: I2c72bad5efda7db8aa9cb05801fe47928dc47927 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-05-05SNAT: Additional tests for SNAT interfaces without a configured ip addressMartin Gálik1-1/+161
Change-Id: I7edea5d7b105ba66e0e04d509968b92cfb64c84a Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-05-02BFD: don't crash if interface is deletedKlement Sekera1-0/+30
Instead, drop the BFD session associated with it.. Change-Id: Ie09877d5c94844be2e833900d9dde7f23edaf8cd Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-27CGN: Send ICMP error packet if user is out of sessions availableMartin Gálik1-1/+13
Change-Id: I19a6015fde7342588cfa9c7a4f07016aa339cc72 Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-26IP Flow Hash Config fixesNeale Ranns3-0/+305
- the flow hash config is (and was) cached on the load-balance object so the fib_table_t struct is not used a switch time. Therefore changes to the table's flow hash config need to be propagated to all load-balances and hance all FIB entries in the table. - enable API for setting the IPv6 table flow hash config - use only the hash config in the fib_table_t object and not on the ipX_fib_t - add tests. Change-Id: Ib804c11162c6d4972c764957562c372f663e05d4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-26CGN: Session dump, test naming for ports fixedMartin Gálik2-40/+73
Change-Id: Ib542b2b3ee023fbe3d0e01ceaf4b4ab7a0ec80dc Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-26CGNAT: close session API and CLI commands.Martin Gálik2-0/+61
Change-Id: I9c8636bd2c4b8da2907e8e4a4f2be1a2c3a8e0bb Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-24make test: mark all BFD tests as extendedKlement Sekera1-0/+5
Change-Id: Iaed59cca1c9fd69eadb86c15be6417a956cb9d5a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-24Improve Load-Balance MAPsNeale Ranns2-17/+395
- only build them for popular path-lists (where popular means more than 64 children) the reason to have a map is to improve convergence speed for recursive prefixes - if there are only a few this technique is not needed - only build them when there is at least one path that has recursive constraints, i.e. a path that can 'fail' in a PIC scenario. - Use the MAPS in the switch path. - PIC test cases for functionality (not convergence performance) Change-Id: I70705444c8469d22b07ae34be82cfb6a01358e10 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-21CGN: IPFIX loggingMatus Fabian1-1/+37
maximum entries per user exceeded event Change-Id: Ie35d7f40f55001e2ef4a38f934f176594f25b189 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-04-20make test: improve bfd reliabilityKlement Sekera2-19/+41
Change-Id: Iaf446a2d7d8e595c3379fb9ed61a954351c17b90 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-20Clean up old datapath code in ACL plugin.Andrew Yourtchenko1-48/+0
Change-Id: I3d64d5ced38a68f3fa208be00c49d20c4e6d4d0e Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-04-19Learn IP6 link-local ND entries from NSs sourced from link-local addressNeale Ranns5-37/+118
Change-Id: I4c3ce4d58df7977490fc94991291422ea1e31ee3 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-19make test: python interpreter customizationvagrant1-6/+18
Allow using custom python interpreter via 'PYTHON' env variable. E.g. env PYTHON=pypy make test. Get latest pip automatically to properly function in environments, where old pip is available and a proxy is required. This allows testing pypy in a centos vagrant-provided vm. Change-Id: I67a658fc927303468cc67f0ac192317ca2907625 Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-19Support ping from outside network in 1:1 NAT (VPP-695)Juraj Sloboda1-1/+31
Change-Id: Iec8fd4c2bd26874bd8bda82172af797e9b92592c Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-04-19CGN: additional testsMartin Gálik1-1/+466
Change-Id: Ib9ae10e0fdc6de08120d92c3eebd76e71b379a06 Signed-off-by: Martin Gálik <magalik@cisco.com>
2017-04-18ACL-plugin does not match UDP next-header, VPP-687Pavel Kotucek1-7/+79
Change-Id: Ide4f9bd6158fb64d069540fb43f4e593e39d6ff3 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2017-04-12make test: don't rely on cPython GC to close fdsKlement Sekera1-8/+9
This code improvement allows running in pypy (and other interpreters) without exhausting file descriptors. Change-Id: Icb692a0fe1343c12cbbb15af6c58753420e74330 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-12CGN: configurable timeoutsMatus Fabian2-0/+46
add API and CLI configuration of deterministic NAT session timeout for TCP, UDP and ICMP protocol Change-Id: I577440452e7eaedcb5d80501a7fd4b76e31e8c9c Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-04-10make test: automatic "vpp finishes startup" checkKlement Sekera3-13/+59
Add code which checks if vpp doesn't crash/exit immediately after startup to aid debugging stuff like mistyped graph node name or so. Refuse to run tests if the vpp is unable to start, complain loudly and print vpp's stderr at critical log level if this happens to make spotting these problems in jenkins easy. Change-Id: I40d3fbd05c822c0534713bae6bef05ecfb0e0c1d Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-07VXLAN/TEST:validate vxlan del reply has valid sw_if_indexEyal Bari1-1/+3
Change-Id: Icf7420b7ee212e9341f63f005dc287d019fd8e4c Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-04-07MPLS McastNeale Ranns5-27/+351
1 - interface-DPO Used in the Data-plane to change a packet's input interface 2 - MPLS multicast FIB entry Same as a unicast entry but it links to a replicate not a load-balance DPO 3 - Multicast MPLS tunnel Update MPLS tunnels to use a FIB path-list to describe the endpoint[s]. Use the path-list to generate the forwarding chain (DPOs) to link to . 4 - Resolve a path via a local label (of an mLDP LSP) For IP multicast entries to use an LSP in the replication list, we need to decribe the 'resolve-via-label' where the label is that of a multicast LSP. 5 - MPLS disposition path sets RPF-ID For a interface-less LSP (i.e. mLDP not RSVP-TE) at the tail of the LSP we still need to perform an RPF check. An MPLS disposition DPO performs the MPLS pop validation checks and sets the RPF-ID in the packet. 6 - RPF check with per-entry RPF-ID An RPF-ID is used instead of a real interface SW if index in the case the IP traffic arrives from an LSP that does not have an associated interface. Change-Id: Ib92e177be919147bafeb599729abf3d1abc2f4b3 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-06acl-plugin: make the IPv4/IPv6 non-first fragment handling in line with ACL ↵Andrew Yourtchenko2-9/+91
(VPP-682) This fixes the previously-implicit "drop all non-first fragments" behavior to be more in line with security rules: a non-first fragment is treated for the purposes of matching the ACL as a packet with the port match succeeding. This allows to change the behavior to permit the fragmented packets for the default "permit specific rules" ruleset, but also gives the flexibility to block the non-initial fragments by inserting into the begining a bogus rule which would deny the L4 traffic. Also, add a knob which allows to potentially turn this behavior off in case of a dire need (and revert to dropping all non-initial fragments), via a debug CLI. Change-Id: I546b372b65ff2157d9c68b1d32f9e644f1dd71b4 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit 9fc0c26c6b28fd6c8b8142ea52f52eafa7e8c7ac)
2017-04-06BFD-FIB interactionsNeale Ranns3-4/+107
- single-hop BFD: attach a delegate to the appropriate adjacency - multi-hop BFD [not supported yet]: attach a delegate to the FIB entry. adjacency/fib_entry state tracks the BFD session state. when the state is down the object does not contribute forwarding hence and hence dependent objects will not use it. For example, if a route is ECMP via two adjacencies and one of them is BFD down, then only the other is used to forward (i.e. we don't drop half the traffic). Change-Id: I0ef53e20e73b067001a132cd0a3045408811a822 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-05GRE over IPv6Ciara Loftus2-7/+177
Refactors the GRE node to work with both IPv4 and IPv6 transports. Note that this changes the binary configuration API to support both address families; each address uses the same memory for either address type and a flag to indicate which is in use. The CLI and VAT syntax remains unchanged; the code detects whether an IPv4 or an IPv6 address was given. Configuration examples: IPv4 CLI: create gre tunnel src 192.168.1.1 dst 192.168.1.2 IPv6 CLI: create gre tunnel src 2620:124:9000::1 dst 2620:124:9000::2 IPv4 VAT: gre_add_del_tunnel src 192.168.1.1 dst 192.168.1.2 IPv6 VAT: gre_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2 Change-Id: Ica8ee775dc101047fb8cd41617ddc8fafc2741b0 Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
2017-04-03make test: relax BFD time intervalsKlement Sekera2-8/+10
Increased time intervals mean longer test runs, but also reduce the chance of getting annoying (especially in gerrit) random failures. Now that tests are split into `basic' and `all', the increased runtime of BFD tests (of which majority doesn't run in basic case) doesn't matter too much.. Change-Id: I4a15bb4facad634f123bc9cc6f45eddbf4976fd1 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-03make test: tweak helper scriptsKlement Sekera2-3/+8
Change-Id: Iee6016757e45c832e8868f0bdcfd4192dd3380c8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-02make test: add scripts for easy test loopingKlement Sekera2-0/+122
Allows easy running of test(s) in a loop with configurable action (e.g. git pull) run between test runs and possible email notification on failure. Usage: test-loop.sh [-p <pre-exec-cmd>] [-m <email>] -- <make test options> Example: Run 'make test-debug' in a loop until a failure is encountered, upon which an email is fired to ksekera@cisco.com. In between test runs, update the workspace using via 'git pull' and if anything changed, perform 'git clean' before running another 'make test-debug': test/scripts/test-loop.sh -p test/scripts/git_pull_or_clean.sh \ -m ksekera@cisco.com -- test-debug Change-Id: I114321c6c152d2c7e181e915fc8c51aab1ff3693 Signed-off-by: Klement Sekera <ksekera@cisco.com>