remote_test.py - Remove 'ret' arg from _remote_exec(), so that the function
always reads the reply from the pipe. (fix unmatched request/reply)
memif_test.py - Don't register VppIpRoute to VppObjectRegistry.
Type: fix
Change-Id: I8a51e7ffd68df5f379534f5ddd5ec9367a89be32
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Enhance the route add/del APIs to take a set of paths rather than just one.
Most unicast routing protocols calcualte all the available paths in one
run of the algorithm so updating all the paths at once is beneficial for the client.
two knobs control the behaviour:
is_multipath - if set the the set of paths passed will be added to those
that already exist, otherwise the set will replace them.
is_add - add or remove the set
is_add=0, is_multipath=1 and an empty set, results in deleting the route.
It is also considerably faster to add multiple paths at once, than one at a time:
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.11
100000 routes in .572240 secs, 174751.80 routes/sec
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.12
100000 routes in .528383 secs, 189256.54 routes/sec
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.13
100000 routes in .757131 secs, 132077.52 routes/sec
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.14
100000 routes in .878317 secs, 113854.12 routes/sec
vat# ip_route_add_del 1.1.1.1/32 count 100000 multipath via 10.10.10.11 via 10.10.10.12 via 10.10.10.13 via 10.10.10.14
100000 routes in .900212 secs, 111084.93 routes/sec
Change-Id: I416b93f7684745099c1adb0b33edac58c9339c1a
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/
Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This reverts commit e63325e3ca03c847963863446345e6c80a2c0cfd.
Allow time for CSIT to accommodate.
Change-Id: I59435e4ab5e05e36a2796c3bf44889b5d4823cc2
Signed-off-by: ot@cisco.com
Private member check also catches __iter__, since it starts with '_'.
Fixes:
Captured traceback:
~~~~~~~~~~~~~~~~~~
b'Traceback (most recent call last):'
b' File "/vpp/test/test_memif.py", line 47, in tearDown'
b' remove_all_memif_vpp_config(self.remote_test)'
b' File "/vpp/test/vpp_memif.py", line 36, in remove_all_memif_vpp_config'
b' for d in dump:'
b"TypeError: 'SerializableClassCopy' object is not iterable"
b''
Change-Id: I6a3f3e0f2b1b2d0a2b97faa23bf542ff8f92de43
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This is not a fix as much as supressing a warning.
__del__ is not a destructor.
test/remote_test.py:385:13: F821 undefined name 'cls'
cls.vpp.poll()
^
test/remote_test.py:386:16: F821 undefined name 'cls'
if cls.vpp.returncode is None:
^
test/remote_test.py:387:17: F821 undefined name 'cls'
cls.vpp.terminate()
^
test/remote_test.py:388:17: F821 undefined name 'cls'
cls.vpp.communicate()
Change-Id: I6f0ecf3ae5dee7f279a4e25994cc1c49470bca26
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This replaces dictionary.iteritems() on Python 2 and dictionary.items() on Python 3.
Change-Id: I58a3ded7d284c59e28d484b0c285aac435bfc229
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Use six.reprlib. Uses repr for python 2 and reprlib for python 3.
Change-Id: Ia343a492d533bd511ed57166381e10a37e452d36
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>