From c2602469c32200db36f8c2d820fadd387cefca78 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 11 Dec 2015 15:32:35 +0100 Subject: [PATCH] platform/tests: workaround broken vxlan platform tests on older kernel Strangely on Ubuntu 12.04, when not setting the port range for a vxlan device, kernel chooses 5: nm-test-device: mtu 1450 qdisc noop state DOWN mode DEFAULT group default link/ether 72:09:79:62:9c:45 brd ff:ff:ff:ff:ff:ff promiscuity 0 vxlan id 42 group 239.1.2.134 local 23.1.2.164 dev nm-test-parent srcport 32768 61000 dstport 4789 ageing 1245 --- src/platform/tests/test-link.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/platform/tests/test-link.c b/src/platform/tests/test-link.c index d10d77df54..34eb124f44 100644 --- a/src/platform/tests/test-link.c +++ b/src/platform/tests/test-link.c @@ -953,8 +953,13 @@ test_software_detect (gconstpointer user_data) g_assert_cmpint (plnk->ttl, ==, 0); g_assert_cmpint (plnk->ageing, ==, 1245); g_assert_cmpint (plnk->dst_port, ==, 4789); - g_assert_cmpint (plnk->src_port_min, ==, 0); - g_assert_cmpint (plnk->src_port_max, ==, 0); + if ( plnk->src_port_min != 0 + || plnk->src_port_max != 0) { + /* on some kernels, omiting the port range results in setting + * following default port range. */ + g_assert_cmpint (plnk->src_port_min, ==, 32768); + g_assert_cmpint (plnk->src_port_max, ==, 61000); + } break; case 1: g_assert_cmpint (plnk->id, ==, 11214423);