Lines Matching full:test

3  * Microchip VCAP API kunit test suite
6 #include <kunit/test.h>
11 /* First we have the test infrastructure that emulates the platform
246 static void test_vcap_xn_rule_creator(struct kunit *test, int cid, in test_vcap_xn_rule_creator() argument
285 KUNIT_ASSERT_NE(test, VCAP_KFS_NO_VALUE, keyset); in test_vcap_xn_rule_creator()
290 KUNIT_EXPECT_PTR_NE(test, NULL, rule); in test_vcap_xn_rule_creator()
304 KUNIT_EXPECT_EQ(test, 0, ret); in test_vcap_xn_rule_creator()
305 KUNIT_EXPECT_EQ(test, keyset, rule->keyset); in test_vcap_xn_rule_creator()
306 KUNIT_EXPECT_EQ(test, actionset, rule->actionset); in test_vcap_xn_rule_creator()
307 KUNIT_EXPECT_EQ(test, size, ri->size); in test_vcap_xn_rule_creator()
311 KUNIT_EXPECT_EQ(test, 0, ret); in test_vcap_xn_rule_creator()
312 KUNIT_EXPECT_EQ(test, expected_addr, ri->addr); in test_vcap_xn_rule_creator()
326 /* Define the test cases. */
328 static void vcap_api_set_bit_1_test(struct kunit *test) in vcap_api_set_bit_1_test() argument
341 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[0]); in vcap_api_set_bit_1_test()
342 KUNIT_EXPECT_EQ(test, (u32)BIT(20), stream[1]); in vcap_api_set_bit_1_test()
345 static void vcap_api_set_bit_0_test(struct kunit *test) in vcap_api_set_bit_0_test() argument
358 KUNIT_EXPECT_EQ(test, (u32)~0, stream[0]); in vcap_api_set_bit_0_test()
359 KUNIT_EXPECT_EQ(test, (u32)~0, stream[1]); in vcap_api_set_bit_0_test()
360 KUNIT_EXPECT_EQ(test, (u32)~BIT(11), stream[2]); in vcap_api_set_bit_0_test()
363 static void vcap_api_iterator_init_test(struct kunit *test) in vcap_api_iterator_init_test() argument
379 KUNIT_EXPECT_EQ(test, 52, iter.sw_width); in vcap_api_iterator_init_test()
380 KUNIT_EXPECT_EQ(test, 86 + 2, iter.offset); in vcap_api_iterator_init_test()
381 KUNIT_EXPECT_EQ(test, 3, iter.reg_idx); in vcap_api_iterator_init_test()
382 KUNIT_EXPECT_EQ(test, 4, iter.reg_bitpos); in vcap_api_iterator_init_test()
386 KUNIT_EXPECT_EQ(test, 49, iter.sw_width); in vcap_api_iterator_init_test()
387 KUNIT_EXPECT_EQ(test, 134 + 7, iter.offset); in vcap_api_iterator_init_test()
388 KUNIT_EXPECT_EQ(test, 5, iter.reg_idx); in vcap_api_iterator_init_test()
389 KUNIT_EXPECT_EQ(test, 11, iter.reg_bitpos); in vcap_api_iterator_init_test()
392 static void vcap_api_iterator_next_test(struct kunit *test) in vcap_api_iterator_next_test() argument
407 KUNIT_EXPECT_EQ(test, 49, iter.sw_width); in vcap_api_iterator_next_test()
408 KUNIT_EXPECT_EQ(test, 86 + 5, iter.offset); in vcap_api_iterator_next_test()
409 KUNIT_EXPECT_EQ(test, 3, iter.reg_idx); in vcap_api_iterator_next_test()
410 KUNIT_EXPECT_EQ(test, 10, iter.reg_bitpos); in vcap_api_iterator_next_test()
414 KUNIT_EXPECT_EQ(test, 91 + 1, iter.offset); in vcap_api_iterator_next_test()
415 KUNIT_EXPECT_EQ(test, 3, iter.reg_idx); in vcap_api_iterator_next_test()
416 KUNIT_EXPECT_EQ(test, 11, iter.reg_bitpos); in vcap_api_iterator_next_test()
421 KUNIT_EXPECT_EQ(test, 92 + 6 + 2, iter.offset); in vcap_api_iterator_next_test()
422 KUNIT_EXPECT_EQ(test, 4, iter.reg_idx); in vcap_api_iterator_next_test()
423 KUNIT_EXPECT_EQ(test, 2, iter.reg_bitpos); in vcap_api_iterator_next_test()
426 static void vcap_api_encode_typegroups_test(struct kunit *test) in vcap_api_encode_typegroups_test() argument
441 KUNIT_EXPECT_EQ(test, (u32)0x8, stream[0]); in vcap_api_encode_typegroups_test()
442 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[1]); in vcap_api_encode_typegroups_test()
443 KUNIT_EXPECT_EQ(test, (u32)0x1, stream[2]); in vcap_api_encode_typegroups_test()
444 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[3]); in vcap_api_encode_typegroups_test()
445 KUNIT_EXPECT_EQ(test, (u32)0x3, stream[4]); in vcap_api_encode_typegroups_test()
446 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[5]); in vcap_api_encode_typegroups_test()
447 KUNIT_EXPECT_EQ(test, (u32)0x5, stream[6]); in vcap_api_encode_typegroups_test()
448 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[7]); in vcap_api_encode_typegroups_test()
449 KUNIT_EXPECT_EQ(test, (u32)0x2, stream[8]); in vcap_api_encode_typegroups_test()
450 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[9]); in vcap_api_encode_typegroups_test()
451 KUNIT_EXPECT_EQ(test, (u32)27, stream[10]); in vcap_api_encode_typegroups_test()
452 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[11]); in vcap_api_encode_typegroups_test()
455 static void vcap_api_encode_bit_test(struct kunit *test) in vcap_api_encode_bit_test() argument
470 KUNIT_EXPECT_EQ(test, 48, iter.offset); in vcap_api_encode_bit_test()
471 KUNIT_EXPECT_EQ(test, 1, iter.reg_idx); in vcap_api_encode_bit_test()
472 KUNIT_EXPECT_EQ(test, 16, iter.reg_bitpos); in vcap_api_encode_bit_test()
476 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[0]); in vcap_api_encode_bit_test()
477 KUNIT_EXPECT_EQ(test, (u32)BIT(16), stream[1]); in vcap_api_encode_bit_test()
478 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[2]); in vcap_api_encode_bit_test()
481 static void vcap_api_encode_field_test(struct kunit *test) in vcap_api_encode_field_test() argument
503 KUNIT_EXPECT_EQ(test, 91, iter.offset); in vcap_api_encode_field_test()
504 KUNIT_EXPECT_EQ(test, 3, iter.reg_idx); in vcap_api_encode_field_test()
505 KUNIT_EXPECT_EQ(test, 10, iter.reg_bitpos); in vcap_api_encode_field_test()
509 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[0]); in vcap_api_encode_field_test()
510 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[1]); in vcap_api_encode_field_test()
511 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[2]); in vcap_api_encode_field_test()
512 KUNIT_EXPECT_EQ(test, (u32)(0x5 << 10), stream[3]); in vcap_api_encode_field_test()
513 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[4]); in vcap_api_encode_field_test()
517 KUNIT_EXPECT_EQ(test, (u32)0x8, stream[0]); in vcap_api_encode_field_test()
518 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[1]); in vcap_api_encode_field_test()
519 KUNIT_EXPECT_EQ(test, (u32)0x1, stream[2]); in vcap_api_encode_field_test()
520 KUNIT_EXPECT_EQ(test, (u32)(0x5 << 10), stream[3]); in vcap_api_encode_field_test()
521 KUNIT_EXPECT_EQ(test, (u32)0x3, stream[4]); in vcap_api_encode_field_test()
522 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[5]); in vcap_api_encode_field_test()
523 KUNIT_EXPECT_EQ(test, (u32)0x5, stream[6]); in vcap_api_encode_field_test()
524 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[7]); in vcap_api_encode_field_test()
525 KUNIT_EXPECT_EQ(test, (u32)0x2, stream[8]); in vcap_api_encode_field_test()
526 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[9]); in vcap_api_encode_field_test()
527 KUNIT_EXPECT_EQ(test, (u32)27, stream[10]); in vcap_api_encode_field_test()
528 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[11]); in vcap_api_encode_field_test()
532 static void vcap_api_encode_short_field_test(struct kunit *test) in vcap_api_encode_short_field_test() argument
552 KUNIT_EXPECT_EQ(test, 1, iter.regs_per_sw); in vcap_api_encode_short_field_test()
553 KUNIT_EXPECT_EQ(test, 21, iter.sw_width); in vcap_api_encode_short_field_test()
554 KUNIT_EXPECT_EQ(test, 25 + 3 + 2, iter.offset); in vcap_api_encode_short_field_test()
555 KUNIT_EXPECT_EQ(test, 1, iter.reg_idx); in vcap_api_encode_short_field_test()
556 KUNIT_EXPECT_EQ(test, 25 + 3 + 2 - sw_width, iter.reg_bitpos); in vcap_api_encode_short_field_test()
560 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[0]); in vcap_api_encode_short_field_test()
561 KUNIT_EXPECT_EQ(test, (u32)(0x5 << (25 + 3 + 2 - sw_width)), stream[1]); in vcap_api_encode_short_field_test()
562 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[2]); in vcap_api_encode_short_field_test()
563 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[3]); in vcap_api_encode_short_field_test()
564 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[4]); in vcap_api_encode_short_field_test()
565 KUNIT_EXPECT_EQ(test, (u32)0x0, stream[5]); in vcap_api_encode_short_field_test()
569 KUNIT_EXPECT_EQ(test, (u32)7, stream[0]); in vcap_api_encode_short_field_test()
570 KUNIT_EXPECT_EQ(test, (u32)((0x5 << (25 + 3 + 2 - sw_width)) + 3), stream[1]); in vcap_api_encode_short_field_test()
571 KUNIT_EXPECT_EQ(test, (u32)1, stream[2]); in vcap_api_encode_short_field_test()
572 KUNIT_EXPECT_EQ(test, (u32)0, stream[3]); in vcap_api_encode_short_field_test()
573 KUNIT_EXPECT_EQ(test, (u32)0, stream[4]); in vcap_api_encode_short_field_test()
574 KUNIT_EXPECT_EQ(test, (u32)0, stream[5]); in vcap_api_encode_short_field_test()
577 static void vcap_api_encode_keyfield_test(struct kunit *test) in vcap_api_encode_keyfield_test() argument
618 KUNIT_EXPECT_EQ(test, (u32)0x0, keywords[0]); in vcap_api_encode_keyfield_test()
619 KUNIT_EXPECT_EQ(test, (u32)0x0, keywords[1]); in vcap_api_encode_keyfield_test()
620 KUNIT_EXPECT_EQ(test, (u32)(0x04a1 << 6), keywords[2]); in vcap_api_encode_keyfield_test()
621 KUNIT_EXPECT_EQ(test, (u32)0x0, keywords[3]); in vcap_api_encode_keyfield_test()
622 KUNIT_EXPECT_EQ(test, (u32)0x0, keywords[4]); in vcap_api_encode_keyfield_test()
623 KUNIT_EXPECT_EQ(test, (u32)0x0, keywords[5]); in vcap_api_encode_keyfield_test()
624 KUNIT_EXPECT_EQ(test, (u32)0x0, keywords[6]); in vcap_api_encode_keyfield_test()
627 KUNIT_EXPECT_EQ(test, (u32)0x0, maskwords[0]); in vcap_api_encode_keyfield_test()
628 KUNIT_EXPECT_EQ(test, (u32)0x0, maskwords[1]); in vcap_api_encode_keyfield_test()
629 KUNIT_EXPECT_EQ(test, (u32)(0x0fff << 6), maskwords[2]); in vcap_api_encode_keyfield_test()
630 KUNIT_EXPECT_EQ(test, (u32)0x0, maskwords[3]); in vcap_api_encode_keyfield_test()
631 KUNIT_EXPECT_EQ(test, (u32)0x0, maskwords[4]); in vcap_api_encode_keyfield_test()
632 KUNIT_EXPECT_EQ(test, (u32)0x0, maskwords[5]); in vcap_api_encode_keyfield_test()
633 KUNIT_EXPECT_EQ(test, (u32)0x0, maskwords[6]); in vcap_api_encode_keyfield_test()
636 static void vcap_api_encode_max_keyfield_test(struct kunit *test) in vcap_api_encode_max_keyfield_test() argument
697 KUNIT_EXPECT_EQ(test, keyres[idx], keywords[idx]); in vcap_api_encode_max_keyfield_test()
700 KUNIT_EXPECT_EQ(test, mskres[idx], maskwords[idx]); in vcap_api_encode_max_keyfield_test()
703 static void vcap_api_encode_actionfield_test(struct kunit *test) in vcap_api_encode_actionfield_test() argument
741 KUNIT_EXPECT_EQ(test, (u32)0x0, actwords[0]); in vcap_api_encode_actionfield_test()
742 KUNIT_EXPECT_EQ(test, (u32)((0x32 << (35 + 2 + 1 - sw_width)) & 0x1fffff), actwords[1]); in vcap_api_encode_actionfield_test()
743 KUNIT_EXPECT_EQ(test, (u32)((0x32 >> ((2 * sw_width) - 38 - 1))), actwords[2]); in vcap_api_encode_actionfield_test()
744 KUNIT_EXPECT_EQ(test, (u32)0x0, actwords[3]); in vcap_api_encode_actionfield_test()
745 KUNIT_EXPECT_EQ(test, (u32)0x0, actwords[4]); in vcap_api_encode_actionfield_test()
746 KUNIT_EXPECT_EQ(test, (u32)0x0, actwords[5]); in vcap_api_encode_actionfield_test()
747 KUNIT_EXPECT_EQ(test, (u32)0x0, actwords[6]); in vcap_api_encode_actionfield_test()
750 static void vcap_api_keyfield_typegroup_test(struct kunit *test) in vcap_api_keyfield_typegroup_test() argument
755 KUNIT_EXPECT_PTR_NE(test, NULL, tg); in vcap_api_keyfield_typegroup_test()
756 KUNIT_EXPECT_EQ(test, 0, tg[0].offset); in vcap_api_keyfield_typegroup_test()
757 KUNIT_EXPECT_EQ(test, 2, tg[0].width); in vcap_api_keyfield_typegroup_test()
758 KUNIT_EXPECT_EQ(test, 2, tg[0].value); in vcap_api_keyfield_typegroup_test()
759 KUNIT_EXPECT_EQ(test, 156, tg[1].offset); in vcap_api_keyfield_typegroup_test()
760 KUNIT_EXPECT_EQ(test, 1, tg[1].width); in vcap_api_keyfield_typegroup_test()
761 KUNIT_EXPECT_EQ(test, 0, tg[1].value); in vcap_api_keyfield_typegroup_test()
762 KUNIT_EXPECT_EQ(test, 0, tg[2].offset); in vcap_api_keyfield_typegroup_test()
763 KUNIT_EXPECT_EQ(test, 0, tg[2].width); in vcap_api_keyfield_typegroup_test()
764 KUNIT_EXPECT_EQ(test, 0, tg[2].value); in vcap_api_keyfield_typegroup_test()
767 KUNIT_EXPECT_PTR_EQ(test, NULL, tg); in vcap_api_keyfield_typegroup_test()
770 static void vcap_api_actionfield_typegroup_test(struct kunit *test) in vcap_api_actionfield_typegroup_test() argument
775 KUNIT_EXPECT_PTR_NE(test, NULL, tg); in vcap_api_actionfield_typegroup_test()
776 KUNIT_EXPECT_EQ(test, 0, tg[0].offset); in vcap_api_actionfield_typegroup_test()
777 KUNIT_EXPECT_EQ(test, 3, tg[0].width); in vcap_api_actionfield_typegroup_test()
778 KUNIT_EXPECT_EQ(test, 4, tg[0].value); in vcap_api_actionfield_typegroup_test()
779 KUNIT_EXPECT_EQ(test, 110, tg[1].offset); in vcap_api_actionfield_typegroup_test()
780 KUNIT_EXPECT_EQ(test, 2, tg[1].width); in vcap_api_actionfield_typegroup_test()
781 KUNIT_EXPECT_EQ(test, 0, tg[1].value); in vcap_api_actionfield_typegroup_test()
782 KUNIT_EXPECT_EQ(test, 220, tg[2].offset); in vcap_api_actionfield_typegroup_test()
783 KUNIT_EXPECT_EQ(test, 2, tg[2].width); in vcap_api_actionfield_typegroup_test()
784 KUNIT_EXPECT_EQ(test, 0, tg[2].value); in vcap_api_actionfield_typegroup_test()
785 KUNIT_EXPECT_EQ(test, 0, tg[3].offset); in vcap_api_actionfield_typegroup_test()
786 KUNIT_EXPECT_EQ(test, 0, tg[3].width); in vcap_api_actionfield_typegroup_test()
787 KUNIT_EXPECT_EQ(test, 0, tg[3].value); in vcap_api_actionfield_typegroup_test()
790 KUNIT_EXPECT_PTR_EQ(test, NULL, tg); in vcap_api_actionfield_typegroup_test()
793 static void vcap_api_vcap_keyfields_test(struct kunit *test) in vcap_api_vcap_keyfields_test() argument
798 KUNIT_EXPECT_PTR_NE(test, NULL, ft); in vcap_api_vcap_keyfields_test()
802 KUNIT_EXPECT_PTR_EQ(test, NULL, ft); in vcap_api_vcap_keyfields_test()
806 KUNIT_EXPECT_PTR_EQ(test, NULL, ft); in vcap_api_vcap_keyfields_test()
809 static void vcap_api_vcap_actionfields_test(struct kunit *test) in vcap_api_vcap_actionfields_test() argument
814 KUNIT_EXPECT_PTR_NE(test, NULL, ft); in vcap_api_vcap_actionfields_test()
817 KUNIT_EXPECT_PTR_EQ(test, NULL, ft); in vcap_api_vcap_actionfields_test()
820 KUNIT_EXPECT_PTR_EQ(test, NULL, ft); in vcap_api_vcap_actionfields_test()
823 static void vcap_api_encode_rule_keyset_test(struct kunit *test) in vcap_api_encode_rule_keyset_test() argument
898 KUNIT_EXPECT_EQ(test, -EINVAL, ret); in vcap_api_encode_rule_keyset_test()
903 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_keyset_test()
907 KUNIT_EXPECT_EQ(test, (u32)0x00000042, keywords[0]); in vcap_api_encode_rule_keyset_test()
908 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[1]); in vcap_api_encode_rule_keyset_test()
909 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[2]); in vcap_api_encode_rule_keyset_test()
910 KUNIT_EXPECT_EQ(test, (u32)0x00020100, keywords[3]); in vcap_api_encode_rule_keyset_test()
911 KUNIT_EXPECT_EQ(test, (u32)0x60504030, keywords[4]); in vcap_api_encode_rule_keyset_test()
912 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[5]); in vcap_api_encode_rule_keyset_test()
913 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[6]); in vcap_api_encode_rule_keyset_test()
914 KUNIT_EXPECT_EQ(test, (u32)0x0002aaee, keywords[7]); in vcap_api_encode_rule_keyset_test()
915 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[8]); in vcap_api_encode_rule_keyset_test()
916 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[9]); in vcap_api_encode_rule_keyset_test()
917 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[10]); in vcap_api_encode_rule_keyset_test()
918 KUNIT_EXPECT_EQ(test, (u32)0x00000000, keywords[11]); in vcap_api_encode_rule_keyset_test()
921 KUNIT_EXPECT_EQ(test, (u32)~0x00b07f80, maskwords[0]); in vcap_api_encode_rule_keyset_test()
922 KUNIT_EXPECT_EQ(test, (u32)~0xfff00000, maskwords[1]); in vcap_api_encode_rule_keyset_test()
923 KUNIT_EXPECT_EQ(test, (u32)~0xfffffffc, maskwords[2]); in vcap_api_encode_rule_keyset_test()
924 KUNIT_EXPECT_EQ(test, (u32)~0xfff000ff, maskwords[3]); in vcap_api_encode_rule_keyset_test()
925 KUNIT_EXPECT_EQ(test, (u32)~0x00000000, maskwords[4]); in vcap_api_encode_rule_keyset_test()
926 KUNIT_EXPECT_EQ(test, (u32)~0xfffffff0, maskwords[5]); in vcap_api_encode_rule_keyset_test()
927 KUNIT_EXPECT_EQ(test, (u32)~0xfffffffe, maskwords[6]); in vcap_api_encode_rule_keyset_test()
928 KUNIT_EXPECT_EQ(test, (u32)~0xfffc0001, maskwords[7]); in vcap_api_encode_rule_keyset_test()
929 KUNIT_EXPECT_EQ(test, (u32)~0xffffffff, maskwords[8]); in vcap_api_encode_rule_keyset_test()
930 KUNIT_EXPECT_EQ(test, (u32)~0xffffffff, maskwords[9]); in vcap_api_encode_rule_keyset_test()
931 KUNIT_EXPECT_EQ(test, (u32)~0xffffffff, maskwords[10]); in vcap_api_encode_rule_keyset_test()
932 KUNIT_EXPECT_EQ(test, (u32)~0xffffffff, maskwords[11]); in vcap_api_encode_rule_keyset_test()
935 static void vcap_api_encode_rule_actionset_test(struct kunit *test) in vcap_api_encode_rule_actionset_test() argument
975 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_actionset_test()
980 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_actionset_test()
983 KUNIT_EXPECT_EQ(test, (u32)0x00000002, actwords[0]); in vcap_api_encode_rule_actionset_test()
984 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[1]); in vcap_api_encode_rule_actionset_test()
985 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[2]); in vcap_api_encode_rule_actionset_test()
986 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[3]); in vcap_api_encode_rule_actionset_test()
987 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[4]); in vcap_api_encode_rule_actionset_test()
988 KUNIT_EXPECT_EQ(test, (u32)0x00100000, actwords[5]); in vcap_api_encode_rule_actionset_test()
989 KUNIT_EXPECT_EQ(test, (u32)0x06400010, actwords[6]); in vcap_api_encode_rule_actionset_test()
990 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[7]); in vcap_api_encode_rule_actionset_test()
991 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[8]); in vcap_api_encode_rule_actionset_test()
992 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[9]); in vcap_api_encode_rule_actionset_test()
993 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[10]); in vcap_api_encode_rule_actionset_test()
994 KUNIT_EXPECT_EQ(test, (u32)0x00000000, actwords[11]); in vcap_api_encode_rule_actionset_test()
1007 static void vcap_api_rule_add_keyvalue_test(struct kunit *test) in vcap_api_rule_add_keyvalue_test() argument
1030 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_keyvalue_test()
1032 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_keyvalue_test()
1035 KUNIT_EXPECT_EQ(test, VCAP_KF_LOOKUP_FIRST_IS, kf->ctrl.key); in vcap_api_rule_add_keyvalue_test()
1036 KUNIT_EXPECT_EQ(test, VCAP_FIELD_BIT, kf->ctrl.type); in vcap_api_rule_add_keyvalue_test()
1037 KUNIT_EXPECT_EQ(test, 0x0, kf->data.u1.value); in vcap_api_rule_add_keyvalue_test()
1038 KUNIT_EXPECT_EQ(test, 0x1, kf->data.u1.mask); in vcap_api_rule_add_keyvalue_test()
1043 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_keyvalue_test()
1045 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_keyvalue_test()
1048 KUNIT_EXPECT_EQ(test, VCAP_KF_LOOKUP_FIRST_IS, kf->ctrl.key); in vcap_api_rule_add_keyvalue_test()
1049 KUNIT_EXPECT_EQ(test, VCAP_FIELD_BIT, kf->ctrl.type); in vcap_api_rule_add_keyvalue_test()
1050 KUNIT_EXPECT_EQ(test, 0x1, kf->data.u1.value); in vcap_api_rule_add_keyvalue_test()
1051 KUNIT_EXPECT_EQ(test, 0x1, kf->data.u1.mask); in vcap_api_rule_add_keyvalue_test()
1057 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_keyvalue_test()
1059 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_keyvalue_test()
1062 KUNIT_EXPECT_EQ(test, VCAP_KF_LOOKUP_FIRST_IS, kf->ctrl.key); in vcap_api_rule_add_keyvalue_test()
1063 KUNIT_EXPECT_EQ(test, VCAP_FIELD_BIT, kf->ctrl.type); in vcap_api_rule_add_keyvalue_test()
1064 KUNIT_EXPECT_EQ(test, 0x0, kf->data.u1.value); in vcap_api_rule_add_keyvalue_test()
1065 KUNIT_EXPECT_EQ(test, 0x0, kf->data.u1.mask); in vcap_api_rule_add_keyvalue_test()
1070 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_keyvalue_test()
1072 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_keyvalue_test()
1075 KUNIT_EXPECT_EQ(test, VCAP_KF_TYPE, kf->ctrl.key); in vcap_api_rule_add_keyvalue_test()
1076 KUNIT_EXPECT_EQ(test, VCAP_FIELD_U32, kf->ctrl.type); in vcap_api_rule_add_keyvalue_test()
1077 KUNIT_EXPECT_EQ(test, 0x98765432, kf->data.u32.value); in vcap_api_rule_add_keyvalue_test()
1078 KUNIT_EXPECT_EQ(test, 0xff00ffab, kf->data.u32.mask); in vcap_api_rule_add_keyvalue_test()
1083 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_keyvalue_test()
1085 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_keyvalue_test()
1088 KUNIT_EXPECT_EQ(test, VCAP_KF_L3_IP6_SIP, kf->ctrl.key); in vcap_api_rule_add_keyvalue_test()
1089 KUNIT_EXPECT_EQ(test, VCAP_FIELD_U128, kf->ctrl.type); in vcap_api_rule_add_keyvalue_test()
1091 KUNIT_EXPECT_EQ(test, dip.value[idx], kf->data.u128.value[idx]); in vcap_api_rule_add_keyvalue_test()
1093 KUNIT_EXPECT_EQ(test, dip.mask[idx], kf->data.u128.mask[idx]); in vcap_api_rule_add_keyvalue_test()
1108 static void vcap_api_rule_add_actionvalue_test(struct kunit *test) in vcap_api_rule_add_actionvalue_test() argument
1125 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_actionvalue_test()
1127 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_actionvalue_test()
1130 KUNIT_EXPECT_EQ(test, VCAP_AF_POLICE_ENA, af->ctrl.action); in vcap_api_rule_add_actionvalue_test()
1131 KUNIT_EXPECT_EQ(test, VCAP_FIELD_BIT, af->ctrl.type); in vcap_api_rule_add_actionvalue_test()
1132 KUNIT_EXPECT_EQ(test, 0x0, af->data.u1.value); in vcap_api_rule_add_actionvalue_test()
1137 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_actionvalue_test()
1139 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_actionvalue_test()
1142 KUNIT_EXPECT_EQ(test, VCAP_AF_POLICE_ENA, af->ctrl.action); in vcap_api_rule_add_actionvalue_test()
1143 KUNIT_EXPECT_EQ(test, VCAP_FIELD_BIT, af->ctrl.type); in vcap_api_rule_add_actionvalue_test()
1144 KUNIT_EXPECT_EQ(test, 0x1, af->data.u1.value); in vcap_api_rule_add_actionvalue_test()
1149 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_actionvalue_test()
1151 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_actionvalue_test()
1154 KUNIT_EXPECT_EQ(test, VCAP_AF_POLICE_ENA, af->ctrl.action); in vcap_api_rule_add_actionvalue_test()
1155 KUNIT_EXPECT_EQ(test, VCAP_FIELD_BIT, af->ctrl.type); in vcap_api_rule_add_actionvalue_test()
1156 KUNIT_EXPECT_EQ(test, 0x0, af->data.u1.value); in vcap_api_rule_add_actionvalue_test()
1161 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_actionvalue_test()
1163 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_actionvalue_test()
1166 KUNIT_EXPECT_EQ(test, VCAP_AF_TYPE, af->ctrl.action); in vcap_api_rule_add_actionvalue_test()
1167 KUNIT_EXPECT_EQ(test, VCAP_FIELD_U32, af->ctrl.type); in vcap_api_rule_add_actionvalue_test()
1168 KUNIT_EXPECT_EQ(test, 0x98765432, af->data.u32.value); in vcap_api_rule_add_actionvalue_test()
1173 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_add_actionvalue_test()
1175 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_add_actionvalue_test()
1178 KUNIT_EXPECT_EQ(test, VCAP_AF_MASK_MODE, af->ctrl.action); in vcap_api_rule_add_actionvalue_test()
1179 KUNIT_EXPECT_EQ(test, VCAP_FIELD_U32, af->ctrl.type); in vcap_api_rule_add_actionvalue_test()
1180 KUNIT_EXPECT_EQ(test, 0xaabbccdd, af->data.u32.value); in vcap_api_rule_add_actionvalue_test()
1184 static void vcap_api_rule_find_keyset_basic_test(struct kunit *test) in vcap_api_rule_find_keyset_basic_test() argument
1226 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_rule_find_keyset_basic_test()
1227 KUNIT_EXPECT_EQ(test, 1, matches.cnt); in vcap_api_rule_find_keyset_basic_test()
1228 KUNIT_EXPECT_EQ(test, VCAP_KFS_MAC_ETYPE, matches.keysets[0]); in vcap_api_rule_find_keyset_basic_test()
1231 static void vcap_api_rule_find_keyset_failed_test(struct kunit *test) in vcap_api_rule_find_keyset_failed_test() argument
1273 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_find_keyset_failed_test()
1274 KUNIT_EXPECT_EQ(test, 0, matches.cnt); in vcap_api_rule_find_keyset_failed_test()
1275 KUNIT_EXPECT_EQ(test, VCAP_KFS_NO_VALUE, matches.keysets[0]); in vcap_api_rule_find_keyset_failed_test()
1278 static void vcap_api_rule_find_keyset_many_test(struct kunit *test) in vcap_api_rule_find_keyset_many_test() argument
1320 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_rule_find_keyset_many_test()
1321 KUNIT_EXPECT_EQ(test, 6, matches.cnt); in vcap_api_rule_find_keyset_many_test()
1322 KUNIT_EXPECT_EQ(test, VCAP_KFS_ARP, matches.keysets[0]); in vcap_api_rule_find_keyset_many_test()
1323 KUNIT_EXPECT_EQ(test, VCAP_KFS_IP4_OTHER, matches.keysets[1]); in vcap_api_rule_find_keyset_many_test()
1324 KUNIT_EXPECT_EQ(test, VCAP_KFS_IP4_TCP_UDP, matches.keysets[2]); in vcap_api_rule_find_keyset_many_test()
1325 KUNIT_EXPECT_EQ(test, VCAP_KFS_IP6_STD, matches.keysets[3]); in vcap_api_rule_find_keyset_many_test()
1326 KUNIT_EXPECT_EQ(test, VCAP_KFS_IP_7TUPLE, matches.keysets[4]); in vcap_api_rule_find_keyset_many_test()
1327 KUNIT_EXPECT_EQ(test, VCAP_KFS_MAC_ETYPE, matches.keysets[5]); in vcap_api_rule_find_keyset_many_test()
1330 static void vcap_api_encode_rule_test(struct kunit *test) in vcap_api_encode_rule_test() argument
1379 KUNIT_EXPECT_PTR_NE(test, NULL, rule); in vcap_api_encode_rule_test()
1384 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1386 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1388 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1391 KUNIT_EXPECT_EQ(test, -EINVAL, ret); in vcap_api_encode_rule_test()
1394 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1397 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1400 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1404 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1406 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1408 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1410 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1414 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1418 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1419 KUNIT_EXPECT_EQ(test, VCAP_KFS_MAC_ETYPE, rule->keyset); in vcap_api_encode_rule_test()
1420 KUNIT_EXPECT_EQ(test, VCAP_AFS_BASE_TYPE, rule->actionset); in vcap_api_encode_rule_test()
1421 KUNIT_EXPECT_EQ(test, 6, ri->size); in vcap_api_encode_rule_test()
1422 KUNIT_EXPECT_EQ(test, 2, ri->keyset_sw_regs); in vcap_api_encode_rule_test()
1423 KUNIT_EXPECT_EQ(test, 4, ri->actionset_sw_regs); in vcap_api_encode_rule_test()
1428 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1432 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1433 KUNIT_EXPECT_EQ(test, 792, is2_admin.last_used_addr); in vcap_api_encode_rule_test()
1435 KUNIT_EXPECT_EQ(test, expwriteaddr[idx], test_updateaddr[idx]); in vcap_api_encode_rule_test()
1439 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_encode_rule_test()
1440 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_encode_rule_test()
1450 KUNIT_EXPECT_PTR_NE(test, NULL, rule); in vcap_api_encode_rule_test()
1452 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_encode_rule_test()
1454 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_encode_rule_test()
1459 static void vcap_api_set_rule_counter_test(struct kunit *test) in vcap_api_set_rule_counter_test() argument
1496 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_set_rule_counter_test()
1498 KUNIT_EXPECT_EQ(test, 1002, test_hw_counter_id); in vcap_api_set_rule_counter_test()
1499 KUNIT_EXPECT_EQ(test, 0, test_hw_cache.counter); in vcap_api_set_rule_counter_test()
1500 KUNIT_EXPECT_EQ(test, false, test_hw_cache.sticky); in vcap_api_set_rule_counter_test()
1501 KUNIT_EXPECT_EQ(test, 600, test_updateaddr[0]); in vcap_api_set_rule_counter_test()
1504 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_set_rule_counter_test()
1506 KUNIT_EXPECT_EQ(test, 2002, test_hw_counter_id); in vcap_api_set_rule_counter_test()
1507 KUNIT_EXPECT_EQ(test, 101, test_hw_cache.counter); in vcap_api_set_rule_counter_test()
1508 KUNIT_EXPECT_EQ(test, true, test_hw_cache.sticky); in vcap_api_set_rule_counter_test()
1509 KUNIT_EXPECT_EQ(test, 700, test_updateaddr[1]); in vcap_api_set_rule_counter_test()
1512 static void vcap_api_get_rule_counter_test(struct kunit *test) in vcap_api_get_rule_counter_test() argument
1550 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_get_rule_counter_test()
1552 KUNIT_EXPECT_EQ(test, 1011, test_hw_counter_id); in vcap_api_get_rule_counter_test()
1553 KUNIT_EXPECT_EQ(test, 55, ctr.value); in vcap_api_get_rule_counter_test()
1554 KUNIT_EXPECT_EQ(test, true, ctr.sticky); in vcap_api_get_rule_counter_test()
1555 KUNIT_EXPECT_EQ(test, 400, test_updateaddr[0]); in vcap_api_get_rule_counter_test()
1561 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_get_rule_counter_test()
1563 KUNIT_EXPECT_EQ(test, 2012, test_hw_counter_id); in vcap_api_get_rule_counter_test()
1564 KUNIT_EXPECT_EQ(test, 22, ctr2.value); in vcap_api_get_rule_counter_test()
1565 KUNIT_EXPECT_EQ(test, false, ctr2.sticky); in vcap_api_get_rule_counter_test()
1566 KUNIT_EXPECT_EQ(test, 300, test_updateaddr[1]); in vcap_api_get_rule_counter_test()
1569 static void vcap_api_rule_insert_in_order_test(struct kunit *test) in vcap_api_rule_insert_in_order_test() argument
1596 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 10, 500, 12, 780); in vcap_api_rule_insert_in_order_test()
1597 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 20, 400, 6, 774); in vcap_api_rule_insert_in_order_test()
1598 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 30, 300, 3, 771); in vcap_api_rule_insert_in_order_test()
1599 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 40, 200, 2, 768); in vcap_api_rule_insert_in_order_test()
1607 static void vcap_api_rule_insert_reverse_order_test(struct kunit *test) in vcap_api_rule_insert_reverse_order_test() argument
1637 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 20, 200, 2, 798); in vcap_api_rule_insert_reverse_order_test()
1638 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_insert_reverse_order_test()
1639 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_insert_reverse_order_test()
1640 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_insert_reverse_order_test()
1642 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 30, 300, 3, 795); in vcap_api_rule_insert_reverse_order_test()
1643 KUNIT_EXPECT_EQ(test, 6, test_move_offset); in vcap_api_rule_insert_reverse_order_test()
1644 KUNIT_EXPECT_EQ(test, 3, test_move_count); in vcap_api_rule_insert_reverse_order_test()
1645 KUNIT_EXPECT_EQ(test, 798, test_move_addr); in vcap_api_rule_insert_reverse_order_test()
1647 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 40, 400, 6, 792); in vcap_api_rule_insert_reverse_order_test()
1648 KUNIT_EXPECT_EQ(test, 6, test_move_offset); in vcap_api_rule_insert_reverse_order_test()
1649 KUNIT_EXPECT_EQ(test, 6, test_move_count); in vcap_api_rule_insert_reverse_order_test()
1650 KUNIT_EXPECT_EQ(test, 792, test_move_addr); in vcap_api_rule_insert_reverse_order_test()
1652 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 50, 500, 12, 780); in vcap_api_rule_insert_reverse_order_test()
1653 KUNIT_EXPECT_EQ(test, 18, test_move_offset); in vcap_api_rule_insert_reverse_order_test()
1654 KUNIT_EXPECT_EQ(test, 12, test_move_count); in vcap_api_rule_insert_reverse_order_test()
1655 KUNIT_EXPECT_EQ(test, 786, test_move_addr); in vcap_api_rule_insert_reverse_order_test()
1659 KUNIT_EXPECT_EQ(test, exp_addr[idx], elem->addr); in vcap_api_rule_insert_reverse_order_test()
1662 KUNIT_EXPECT_EQ(test, 768, admin.last_used_addr); in vcap_api_rule_insert_reverse_order_test()
1670 static void vcap_api_rule_remove_at_end_test(struct kunit *test) in vcap_api_rule_remove_at_end_test() argument
1699 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 10, 500, 12, 780); in vcap_api_rule_remove_at_end_test()
1700 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 20, 400, 6, 774); in vcap_api_rule_remove_at_end_test()
1701 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 30, 300, 3, 771); in vcap_api_rule_remove_at_end_test()
1702 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 40, 200, 2, 768); in vcap_api_rule_remove_at_end_test()
1706 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_at_end_test()
1707 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_remove_at_end_test()
1708 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_remove_at_end_test()
1709 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_remove_at_end_test()
1710 KUNIT_EXPECT_EQ(test, 768, test_init_start); in vcap_api_rule_remove_at_end_test()
1711 KUNIT_EXPECT_EQ(test, 2, test_init_count); in vcap_api_rule_remove_at_end_test()
1712 KUNIT_EXPECT_EQ(test, 771, admin.last_used_addr); in vcap_api_rule_remove_at_end_test()
1715 KUNIT_EXPECT_EQ(test, ret, 0); in vcap_api_rule_remove_at_end_test()
1716 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_remove_at_end_test()
1717 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_remove_at_end_test()
1718 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_remove_at_end_test()
1719 KUNIT_EXPECT_EQ(test, 771, test_init_start); in vcap_api_rule_remove_at_end_test()
1720 KUNIT_EXPECT_EQ(test, 3, test_init_count); in vcap_api_rule_remove_at_end_test()
1721 KUNIT_EXPECT_EQ(test, 774, admin.last_used_addr); in vcap_api_rule_remove_at_end_test()
1724 KUNIT_EXPECT_EQ(test, ret, 0); in vcap_api_rule_remove_at_end_test()
1725 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_remove_at_end_test()
1726 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_remove_at_end_test()
1727 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_remove_at_end_test()
1728 KUNIT_EXPECT_EQ(test, 774, test_init_start); in vcap_api_rule_remove_at_end_test()
1729 KUNIT_EXPECT_EQ(test, 6, test_init_count); in vcap_api_rule_remove_at_end_test()
1730 KUNIT_EXPECT_EQ(test, 780, admin.last_used_addr); in vcap_api_rule_remove_at_end_test()
1733 KUNIT_EXPECT_EQ(test, ret, 0); in vcap_api_rule_remove_at_end_test()
1734 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_remove_at_end_test()
1735 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_remove_at_end_test()
1736 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_remove_at_end_test()
1737 KUNIT_EXPECT_EQ(test, 780, test_init_start); in vcap_api_rule_remove_at_end_test()
1738 KUNIT_EXPECT_EQ(test, 12, test_init_count); in vcap_api_rule_remove_at_end_test()
1739 KUNIT_EXPECT_EQ(test, 3072, admin.last_used_addr); in vcap_api_rule_remove_at_end_test()
1742 static void vcap_api_rule_remove_in_middle_test(struct kunit *test) in vcap_api_rule_remove_in_middle_test() argument
1770 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 10, 500, 12, 780); in vcap_api_rule_remove_in_middle_test()
1771 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 20, 400, 6, 774); in vcap_api_rule_remove_in_middle_test()
1772 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 30, 300, 3, 771); in vcap_api_rule_remove_in_middle_test()
1773 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 40, 200, 2, 768); in vcap_api_rule_remove_in_middle_test()
1778 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_in_middle_test()
1779 KUNIT_EXPECT_EQ(test, 768, test_move_addr); in vcap_api_rule_remove_in_middle_test()
1780 KUNIT_EXPECT_EQ(test, -6, test_move_offset); in vcap_api_rule_remove_in_middle_test()
1781 KUNIT_EXPECT_EQ(test, 6, test_move_count); in vcap_api_rule_remove_in_middle_test()
1782 KUNIT_EXPECT_EQ(test, 768, test_init_start); in vcap_api_rule_remove_in_middle_test()
1783 KUNIT_EXPECT_EQ(test, 6, test_init_count); in vcap_api_rule_remove_in_middle_test()
1784 KUNIT_EXPECT_EQ(test, 774, admin.last_used_addr); in vcap_api_rule_remove_in_middle_test()
1788 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_in_middle_test()
1789 KUNIT_EXPECT_EQ(test, 774, test_move_addr); in vcap_api_rule_remove_in_middle_test()
1790 KUNIT_EXPECT_EQ(test, -4, test_move_offset); in vcap_api_rule_remove_in_middle_test()
1791 KUNIT_EXPECT_EQ(test, 2, test_move_count); in vcap_api_rule_remove_in_middle_test()
1792 KUNIT_EXPECT_EQ(test, 774, test_init_start); in vcap_api_rule_remove_in_middle_test()
1793 KUNIT_EXPECT_EQ(test, 4, test_init_count); in vcap_api_rule_remove_in_middle_test()
1794 KUNIT_EXPECT_EQ(test, 778, admin.last_used_addr); in vcap_api_rule_remove_in_middle_test()
1798 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_in_middle_test()
1799 KUNIT_EXPECT_EQ(test, 778, test_move_addr); in vcap_api_rule_remove_in_middle_test()
1800 KUNIT_EXPECT_EQ(test, -20, test_move_offset); in vcap_api_rule_remove_in_middle_test()
1801 KUNIT_EXPECT_EQ(test, 2, test_move_count); in vcap_api_rule_remove_in_middle_test()
1802 KUNIT_EXPECT_EQ(test, 778, test_init_start); in vcap_api_rule_remove_in_middle_test()
1803 KUNIT_EXPECT_EQ(test, 20, test_init_count); in vcap_api_rule_remove_in_middle_test()
1804 KUNIT_EXPECT_EQ(test, 798, admin.last_used_addr); in vcap_api_rule_remove_in_middle_test()
1808 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_in_middle_test()
1809 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_remove_in_middle_test()
1810 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_remove_in_middle_test()
1811 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_remove_in_middle_test()
1812 KUNIT_EXPECT_EQ(test, 798, test_init_start); in vcap_api_rule_remove_in_middle_test()
1813 KUNIT_EXPECT_EQ(test, 2, test_init_count); in vcap_api_rule_remove_in_middle_test()
1814 KUNIT_EXPECT_EQ(test, 800, admin.last_used_addr); in vcap_api_rule_remove_in_middle_test()
1817 static void vcap_api_rule_remove_in_front_test(struct kunit *test) in vcap_api_rule_remove_in_front_test() argument
1842 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 10, 500, 12, 780); in vcap_api_rule_remove_in_front_test()
1843 KUNIT_EXPECT_EQ(test, 780, admin.last_used_addr); in vcap_api_rule_remove_in_front_test()
1847 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_in_front_test()
1848 KUNIT_EXPECT_EQ(test, 0, test_move_addr); in vcap_api_rule_remove_in_front_test()
1849 KUNIT_EXPECT_EQ(test, 0, test_move_offset); in vcap_api_rule_remove_in_front_test()
1850 KUNIT_EXPECT_EQ(test, 0, test_move_count); in vcap_api_rule_remove_in_front_test()
1851 KUNIT_EXPECT_EQ(test, 780, test_init_start); in vcap_api_rule_remove_in_front_test()
1852 KUNIT_EXPECT_EQ(test, 12, test_init_count); in vcap_api_rule_remove_in_front_test()
1853 KUNIT_EXPECT_EQ(test, 800, admin.last_used_addr); in vcap_api_rule_remove_in_front_test()
1855 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 20, 400, 6, 792); in vcap_api_rule_remove_in_front_test()
1856 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 30, 300, 3, 789); in vcap_api_rule_remove_in_front_test()
1857 test_vcap_xn_rule_creator(test, 10000, VCAP_USER_QOS, 40, 200, 2, 786); in vcap_api_rule_remove_in_front_test()
1861 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_rule_remove_in_front_test()
1862 KUNIT_EXPECT_EQ(test, 786, test_move_addr); in vcap_api_rule_remove_in_front_test()
1863 KUNIT_EXPECT_EQ(test, -8, test_move_offset); in vcap_api_rule_remove_in_front_test()
1864 KUNIT_EXPECT_EQ(test, 6, test_move_count); in vcap_api_rule_remove_in_front_test()
1865 KUNIT_EXPECT_EQ(test, 786, test_init_start); in vcap_api_rule_remove_in_front_test()
1866 KUNIT_EXPECT_EQ(test, 8, test_init_count); in vcap_api_rule_remove_in_front_test()
1867 KUNIT_EXPECT_EQ(test, 794, admin.last_used_addr); in vcap_api_rule_remove_in_front_test()
1880 static void vcap_api_next_lookup_basic_test(struct kunit *test) in vcap_api_next_lookup_basic_test() argument
1904 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_basic_test()
1906 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_basic_test()
1908 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_basic_test()
1911 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_basic_test()
1913 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_basic_test()
1916 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_basic_test()
1918 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_basic_test()
1921 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_basic_test()
1923 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_basic_test()
1926 static void vcap_api_next_lookup_advanced_test(struct kunit *test) in vcap_api_next_lookup_advanced_test() argument
1975 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_advanced_test()
1977 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1980 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1982 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1984 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1986 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1988 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1990 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1993 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_advanced_test()
1995 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_next_lookup_advanced_test()
1998 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_advanced_test()
2000 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_next_lookup_advanced_test()
2003 static void vcap_api_filter_unsupported_keys_test(struct kunit *test) in vcap_api_filter_unsupported_keys_test() argument
2052 KUNIT_EXPECT_EQ(test, 14, ARRAY_SIZE(keylist)); in vcap_api_filter_unsupported_keys_test()
2057 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_filter_unsupported_keys_test()
2062 KUNIT_EXPECT_EQ(test, expected[idx], ckf->ctrl.key); in vcap_api_filter_unsupported_keys_test()
2067 KUNIT_EXPECT_EQ(test, 7, idx); in vcap_api_filter_unsupported_keys_test()
2070 static void vcap_api_filter_keylist_test(struct kunit *test) in vcap_api_filter_keylist_test() argument
2176 KUNIT_EXPECT_EQ(test, 38, ARRAY_SIZE(keylist)); in vcap_api_filter_keylist_test()
2182 KUNIT_EXPECT_EQ(test, 0, ret); in vcap_api_filter_keylist_test()
2187 KUNIT_EXPECT_EQ(test, expected[idx], ckf->ctrl.key); in vcap_api_filter_keylist_test()
2192 KUNIT_EXPECT_EQ(test, 26, idx); in vcap_api_filter_keylist_test()
2195 static void vcap_api_rule_chain_path_test(struct kunit *test) in vcap_api_rule_chain_path_test() argument
2232 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_rule_chain_path_test()
2235 KUNIT_EXPECT_EQ(test, true, ret); in vcap_api_rule_chain_path_test()
2238 KUNIT_EXPECT_EQ(test, false, ret); in vcap_api_rule_chain_path_test()
2241 KUNIT_EXPECT_EQ(test, 1000000, chain); in vcap_api_rule_chain_path_test()
2244 KUNIT_EXPECT_EQ(test, 1100000, chain); in vcap_api_rule_chain_path_test()
2247 KUNIT_EXPECT_EQ(test, 8000000, chain); in vcap_api_rule_chain_path_test()