diff options
| author | Michael Biebl <biebl@debian.org> | 2020-10-05 22:27:18 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-10-05 22:27:18 +0200 |
| commit | aafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (patch) | |
| tree | a2a9bb4d007339a0b1304540388230ccedac32bd /src/platform/tests/test-tc.c | |
| parent | e7b44ef4c80907346ec7492a09c45277459924fc (diff) | |
New upstream version 1.27.90 upstream/1.27.90
Diffstat (limited to 'src/platform/tests/test-tc.c')
| -rw-r--r-- | src/platform/tests/test-tc.c | 347 |
1 files changed, 173 insertions, 174 deletions
diff --git a/src/platform/tests/test-tc.c b/src/platform/tests/test-tc.c index 0c90fcfa..4cbe4f5d 100644 --- a/src/platform/tests/test-tc.c +++ b/src/platform/tests/test-tc.c @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: LGPL-2.1+ +/* SPDX-License-Identifier: LGPL-2.1+ */ #include "nm-default.h" @@ -11,194 +11,193 @@ #include "test-common.h" static NMPObject * -qdisc_new (int ifindex, const char *kind, guint32 parent) +qdisc_new(int ifindex, const char *kind, guint32 parent) { - NMPObject *obj; + NMPObject *obj; - obj = nmp_object_new (NMP_OBJECT_TYPE_QDISC, NULL); - obj->qdisc = (NMPlatformQdisc) { - .ifindex = ifindex, - .kind = kind, - .parent = parent, - }; + obj = nmp_object_new(NMP_OBJECT_TYPE_QDISC, NULL); + obj->qdisc = (NMPlatformQdisc){ + .ifindex = ifindex, + .kind = kind, + .parent = parent, + }; - return obj; + return obj; } static GPtrArray * -qdiscs_lookup (int ifindex) +qdiscs_lookup(int ifindex) { - NMPLookup lookup; + NMPLookup lookup; - return nm_platform_lookup_clone (NM_PLATFORM_GET, - nmp_lookup_init_object (&lookup, - NMP_OBJECT_TYPE_QDISC, - ifindex), - NULL, NULL); + return nm_platform_lookup_clone(NM_PLATFORM_GET, + nmp_lookup_init_object(&lookup, NMP_OBJECT_TYPE_QDISC, ifindex), + NULL, + NULL); } static void -test_qdisc1 (void) +test_qdisc1(void) { - int ifindex; - gs_unref_ptrarray GPtrArray *known = NULL; - gs_unref_ptrarray GPtrArray *plat = NULL; - NMPObject *obj; - NMPlatformQdisc *qdisc; - - ifindex = nm_platform_link_get_ifindex (NM_PLATFORM_GET, DEVICE_NAME); - g_assert_cmpint (ifindex, >, 0); - - nmtstp_run_command ("tc qdisc del dev %s root", DEVICE_NAME); - nmtstp_run_command_check ("tc qdisc add dev %s root sfq", DEVICE_NAME); - - nmtstp_wait_for_signal (NM_PLATFORM_GET, 0); - - known = g_ptr_array_new_with_free_func ((GDestroyNotify) nmp_object_unref); - g_ptr_array_add (known, qdisc_new (ifindex, "fq_codel", TC_H_ROOT)); - g_ptr_array_add (known, qdisc_new (ifindex, "ingress", TC_H_INGRESS)); - - g_assert (nm_platform_qdisc_sync (NM_PLATFORM_GET, ifindex, known)); - plat = qdiscs_lookup (ifindex); - g_assert (plat); - g_assert_cmpint (plat->len, ==, 2); - - obj = plat->pdata[0]; - qdisc = NMP_OBJECT_CAST_QDISC (obj); - g_assert_cmpint (qdisc->parent, ==, TC_H_ROOT); - g_assert_cmpstr (qdisc->kind, ==, "fq_codel"); - - obj = plat->pdata[1]; - qdisc = NMP_OBJECT_CAST_QDISC (obj); - g_assert_cmpint (qdisc->parent, ==, TC_H_INGRESS); - g_assert_cmpstr (qdisc->kind, ==, "ingress"); + int ifindex; + gs_unref_ptrarray GPtrArray *known = NULL; + gs_unref_ptrarray GPtrArray *plat = NULL; + NMPObject * obj; + NMPlatformQdisc * qdisc; + + ifindex = nm_platform_link_get_ifindex(NM_PLATFORM_GET, DEVICE_NAME); + g_assert_cmpint(ifindex, >, 0); + + nmtstp_run_command("tc qdisc del dev %s root", DEVICE_NAME); + nmtstp_run_command_check("tc qdisc add dev %s root sfq", DEVICE_NAME); + + nmtstp_wait_for_signal(NM_PLATFORM_GET, 0); + + known = g_ptr_array_new_with_free_func((GDestroyNotify) nmp_object_unref); + g_ptr_array_add(known, qdisc_new(ifindex, "fq_codel", TC_H_ROOT)); + g_ptr_array_add(known, qdisc_new(ifindex, "ingress", TC_H_INGRESS)); + + g_assert(nm_platform_qdisc_sync(NM_PLATFORM_GET, ifindex, known)); + plat = qdiscs_lookup(ifindex); + g_assert(plat); + g_assert_cmpint(plat->len, ==, 2); + + obj = plat->pdata[0]; + qdisc = NMP_OBJECT_CAST_QDISC(obj); + g_assert_cmpint(qdisc->parent, ==, TC_H_ROOT); + g_assert_cmpstr(qdisc->kind, ==, "fq_codel"); + + obj = plat->pdata[1]; + qdisc = NMP_OBJECT_CAST_QDISC(obj); + g_assert_cmpint(qdisc->parent, ==, TC_H_INGRESS); + g_assert_cmpstr(qdisc->kind, ==, "ingress"); } static void -test_qdisc_fq_codel (void) +test_qdisc_fq_codel(void) { - int ifindex; - gs_unref_ptrarray GPtrArray *known = NULL; - gs_unref_ptrarray GPtrArray *plat = NULL; - NMPObject *obj; - NMPlatformQdisc *qdisc; - - ifindex = nm_platform_link_get_ifindex (NM_PLATFORM_GET, DEVICE_NAME); - g_assert_cmpint (ifindex, >, 0); - - nmtstp_run_command ("tc qdisc del dev %s root", DEVICE_NAME); - - nmtstp_wait_for_signal (NM_PLATFORM_GET, 0); - - known = g_ptr_array_new_with_free_func ((GDestroyNotify) nmp_object_unref); - obj = qdisc_new (ifindex, "fq_codel", TC_H_ROOT); - obj->qdisc.handle = TC_H_MAKE (0x8142 << 16, 0); - obj->qdisc.fq_codel.limit = 2048; - obj->qdisc.fq_codel.flows = 64; - obj->qdisc.fq_codel.quantum = 1000; - g_ptr_array_add (known, obj); - - g_assert (nm_platform_qdisc_sync (NM_PLATFORM_GET, ifindex, known)); - plat = qdiscs_lookup (ifindex); - g_assert (plat); - g_assert_cmpint (plat->len, ==, 1); - - obj = plat->pdata[0]; - qdisc = NMP_OBJECT_CAST_QDISC (obj); - g_assert_cmpstr (qdisc->kind, ==, "fq_codel"); - g_assert_cmpint (qdisc->handle, ==, TC_H_MAKE (0x8142 << 16, 0)); - g_assert_cmpint (qdisc->parent, ==, TC_H_ROOT); - g_assert_cmpint (qdisc->fq_codel.limit, ==, 2048); - g_assert_cmpint (qdisc->fq_codel.flows, ==, 64); - g_assert_cmpint (qdisc->fq_codel.quantum, ==, 1000); + int ifindex; + gs_unref_ptrarray GPtrArray *known = NULL; + gs_unref_ptrarray GPtrArray *plat = NULL; + NMPObject * obj; + NMPlatformQdisc * qdisc; + + ifindex = nm_platform_link_get_ifindex(NM_PLATFORM_GET, DEVICE_NAME); + g_assert_cmpint(ifindex, >, 0); + + nmtstp_run_command("tc qdisc del dev %s root", DEVICE_NAME); + + nmtstp_wait_for_signal(NM_PLATFORM_GET, 0); + + known = g_ptr_array_new_with_free_func((GDestroyNotify) nmp_object_unref); + obj = qdisc_new(ifindex, "fq_codel", TC_H_ROOT); + obj->qdisc.handle = TC_H_MAKE(0x8142 << 16, 0); + obj->qdisc.fq_codel.limit = 2048; + obj->qdisc.fq_codel.flows = 64; + obj->qdisc.fq_codel.quantum = 1000; + g_ptr_array_add(known, obj); + + g_assert(nm_platform_qdisc_sync(NM_PLATFORM_GET, ifindex, known)); + plat = qdiscs_lookup(ifindex); + g_assert(plat); + g_assert_cmpint(plat->len, ==, 1); + + obj = plat->pdata[0]; + qdisc = NMP_OBJECT_CAST_QDISC(obj); + g_assert_cmpstr(qdisc->kind, ==, "fq_codel"); + g_assert_cmpint(qdisc->handle, ==, TC_H_MAKE(0x8142 << 16, 0)); + g_assert_cmpint(qdisc->parent, ==, TC_H_ROOT); + g_assert_cmpint(qdisc->fq_codel.limit, ==, 2048); + g_assert_cmpint(qdisc->fq_codel.flows, ==, 64); + g_assert_cmpint(qdisc->fq_codel.quantum, ==, 1000); } static void -test_qdisc_sfq (void) +test_qdisc_sfq(void) { - int ifindex; - gs_unref_ptrarray GPtrArray *known = NULL; - gs_unref_ptrarray GPtrArray *plat = NULL; - NMPObject *obj; - NMPlatformQdisc *qdisc; - - ifindex = nm_platform_link_get_ifindex (NM_PLATFORM_GET, DEVICE_NAME); - g_assert_cmpint (ifindex, >, 0); - - nmtstp_run_command ("tc qdisc del dev %s root", DEVICE_NAME); - - nmtstp_wait_for_signal (NM_PLATFORM_GET, 0); - - known = g_ptr_array_new_with_free_func ((GDestroyNotify) nmp_object_unref); - obj = qdisc_new (ifindex, "sfq", TC_H_ROOT); - obj->qdisc.handle = TC_H_MAKE (0x8143 << 16, 0); - obj->qdisc.sfq.perturb_period = 10; - obj->qdisc.sfq.quantum = 1540; - obj->qdisc.sfq.flows = 256; - g_ptr_array_add (known, obj); - - g_assert (nm_platform_qdisc_sync (NM_PLATFORM_GET, ifindex, known)); - plat = qdiscs_lookup (ifindex); - g_assert (plat); - g_assert_cmpint (plat->len, ==, 1); - - obj = plat->pdata[0]; - qdisc = NMP_OBJECT_CAST_QDISC (obj); - g_assert_cmpstr (qdisc->kind, ==, "sfq"); - g_assert_cmpint (qdisc->handle, ==, TC_H_MAKE (0x8143 << 16, 0)); - g_assert_cmpint (qdisc->parent, ==, TC_H_ROOT); - g_assert_cmpint (qdisc->sfq.perturb_period, ==, 10); - g_assert_cmpint (qdisc->sfq.quantum, ==, 1540); - g_assert_cmpint (qdisc->sfq.flows, ==, 256); + int ifindex; + gs_unref_ptrarray GPtrArray *known = NULL; + gs_unref_ptrarray GPtrArray *plat = NULL; + NMPObject * obj; + NMPlatformQdisc * qdisc; + + ifindex = nm_platform_link_get_ifindex(NM_PLATFORM_GET, DEVICE_NAME); + g_assert_cmpint(ifindex, >, 0); + + nmtstp_run_command("tc qdisc del dev %s root", DEVICE_NAME); + + nmtstp_wait_for_signal(NM_PLATFORM_GET, 0); + + known = g_ptr_array_new_with_free_func((GDestroyNotify) nmp_object_unref); + obj = qdisc_new(ifindex, "sfq", TC_H_ROOT); + obj->qdisc.handle = TC_H_MAKE(0x8143 << 16, 0); + obj->qdisc.sfq.perturb_period = 10; + obj->qdisc.sfq.quantum = 1540; + obj->qdisc.sfq.flows = 256; + g_ptr_array_add(known, obj); + + g_assert(nm_platform_qdisc_sync(NM_PLATFORM_GET, ifindex, known)); + plat = qdiscs_lookup(ifindex); + g_assert(plat); + g_assert_cmpint(plat->len, ==, 1); + + obj = plat->pdata[0]; + qdisc = NMP_OBJECT_CAST_QDISC(obj); + g_assert_cmpstr(qdisc->kind, ==, "sfq"); + g_assert_cmpint(qdisc->handle, ==, TC_H_MAKE(0x8143 << 16, 0)); + g_assert_cmpint(qdisc->parent, ==, TC_H_ROOT); + g_assert_cmpint(qdisc->sfq.perturb_period, ==, 10); + g_assert_cmpint(qdisc->sfq.quantum, ==, 1540); + g_assert_cmpint(qdisc->sfq.flows, ==, 256); } static void -test_qdisc_tbf (void) +test_qdisc_tbf(void) { - int ifindex; - gs_unref_ptrarray GPtrArray *known = NULL; - gs_unref_ptrarray GPtrArray *plat = NULL; - NMPObject *obj; - NMPlatformQdisc *qdisc; - - ifindex = nm_platform_link_get_ifindex (NM_PLATFORM_GET, DEVICE_NAME); - g_assert_cmpint (ifindex, >, 0); - - nmtstp_run_command ("tc qdisc del dev %s root", DEVICE_NAME); - - nmtstp_wait_for_signal (NM_PLATFORM_GET, 0); - - known = g_ptr_array_new_with_free_func ((GDestroyNotify) nmp_object_unref); - obj = qdisc_new (ifindex, "tbf", TC_H_ROOT); - obj->qdisc.handle = TC_H_MAKE (0x8143 << 16, 0); - obj->qdisc.tbf.rate = 1000000; - obj->qdisc.tbf.burst = 2000; - obj->qdisc.tbf.limit = 3000; - g_ptr_array_add (known, obj); - - obj = qdisc_new (ifindex, "sfq", TC_H_MAKE (0x8143 << 16, 0)); - obj->qdisc.handle = TC_H_MAKE (0x8005 << 16, 0); - g_ptr_array_add (known, obj); - - g_assert (nm_platform_qdisc_sync (NM_PLATFORM_GET, ifindex, known)); - plat = qdiscs_lookup (ifindex); - g_assert (plat); - g_assert_cmpint (plat->len, ==, 2); - - obj = plat->pdata[0]; - qdisc = NMP_OBJECT_CAST_QDISC (obj); - g_assert_cmpstr (qdisc->kind, ==, "tbf"); - g_assert_cmpint (qdisc->handle, ==, TC_H_MAKE (0x8143 << 16, 0)); - g_assert_cmpint (qdisc->parent, ==, TC_H_ROOT); - g_assert_cmpint (qdisc->tbf.rate, ==, 1000000); - g_assert_cmpint (qdisc->tbf.burst, ==, 2000); - g_assert_cmpint (qdisc->tbf.limit, ==, 3000); - - obj = plat->pdata[1]; - qdisc = NMP_OBJECT_CAST_QDISC (obj); - g_assert_cmpstr (qdisc->kind, ==, "sfq"); - g_assert_cmpint (qdisc->parent, ==, TC_H_MAKE (0x8143 << 16, 0)); - g_assert_cmpint (qdisc->handle, ==, TC_H_MAKE (0x8005 << 16, 0)); + int ifindex; + gs_unref_ptrarray GPtrArray *known = NULL; + gs_unref_ptrarray GPtrArray *plat = NULL; + NMPObject * obj; + NMPlatformQdisc * qdisc; + + ifindex = nm_platform_link_get_ifindex(NM_PLATFORM_GET, DEVICE_NAME); + g_assert_cmpint(ifindex, >, 0); + + nmtstp_run_command("tc qdisc del dev %s root", DEVICE_NAME); + + nmtstp_wait_for_signal(NM_PLATFORM_GET, 0); + + known = g_ptr_array_new_with_free_func((GDestroyNotify) nmp_object_unref); + obj = qdisc_new(ifindex, "tbf", TC_H_ROOT); + obj->qdisc.handle = TC_H_MAKE(0x8143 << 16, 0); + obj->qdisc.tbf.rate = 1000000; + obj->qdisc.tbf.burst = 2000; + obj->qdisc.tbf.limit = 3000; + g_ptr_array_add(known, obj); + + obj = qdisc_new(ifindex, "sfq", TC_H_MAKE(0x8143 << 16, 0)); + obj->qdisc.handle = TC_H_MAKE(0x8005 << 16, 0); + g_ptr_array_add(known, obj); + + g_assert(nm_platform_qdisc_sync(NM_PLATFORM_GET, ifindex, known)); + plat = qdiscs_lookup(ifindex); + g_assert(plat); + g_assert_cmpint(plat->len, ==, 2); + + obj = plat->pdata[0]; + qdisc = NMP_OBJECT_CAST_QDISC(obj); + g_assert_cmpstr(qdisc->kind, ==, "tbf"); + g_assert_cmpint(qdisc->handle, ==, TC_H_MAKE(0x8143 << 16, 0)); + g_assert_cmpint(qdisc->parent, ==, TC_H_ROOT); + g_assert_cmpint(qdisc->tbf.rate, ==, 1000000); + g_assert_cmpint(qdisc->tbf.burst, ==, 2000); + g_assert_cmpint(qdisc->tbf.limit, ==, 3000); + + obj = plat->pdata[1]; + qdisc = NMP_OBJECT_CAST_QDISC(obj); + g_assert_cmpstr(qdisc->kind, ==, "sfq"); + g_assert_cmpint(qdisc->parent, ==, TC_H_MAKE(0x8143 << 16, 0)); + g_assert_cmpint(qdisc->handle, ==, TC_H_MAKE(0x8005 << 16, 0)); } /*****************************************************************************/ @@ -206,18 +205,18 @@ test_qdisc_tbf (void) NMTstpSetupFunc const _nmtstp_setup_platform_func = SETUP; void -_nmtstp_init_tests (int *argc, char ***argv) +_nmtstp_init_tests(int *argc, char ***argv) { - nmtst_init_with_logging (argc, argv, NULL, "ALL"); + nmtst_init_with_logging(argc, argv, NULL, "ALL"); } void -_nmtstp_setup_tests (void) +_nmtstp_setup_tests(void) { - if (nmtstp_is_root_test ()) { - nmtstp_env1_add_test_func ("/link/qdisc/1", test_qdisc1, TRUE); - nmtstp_env1_add_test_func ("/link/qdisc/fq_codel", test_qdisc_fq_codel, TRUE); - nmtstp_env1_add_test_func ("/link/qdisc/sfq", test_qdisc_sfq, TRUE); - nmtstp_env1_add_test_func ("/link/qdisc/tbf", test_qdisc_tbf, TRUE); - } + if (nmtstp_is_root_test()) { + nmtstp_env1_add_test_func("/link/qdisc/1", test_qdisc1, TRUE); + nmtstp_env1_add_test_func("/link/qdisc/fq_codel", test_qdisc_fq_codel, TRUE); + nmtstp_env1_add_test_func("/link/qdisc/sfq", test_qdisc_sfq, TRUE); + nmtstp_env1_add_test_func("/link/qdisc/tbf", test_qdisc_tbf, TRUE); + } } |