Lines Matching defs:target
111 static void test_tc_opts_before_target(int target)
139 assert_mprog_count(target, 0);
141 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
145 assert_mprog_count(target, 1);
147 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
151 assert_mprog_count(target, 2);
158 err = bpf_prog_query_opts(loopback, target, &optq);
181 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
188 err = bpf_prog_query_opts(loopback, target, &optq);
204 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
208 assert_mprog_count(target, 4);
213 err = bpf_prog_query_opts(loopback, target, &optq);
234 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
236 assert_mprog_count(target, 3);
239 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
241 assert_mprog_count(target, 2);
244 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
246 assert_mprog_count(target, 1);
249 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
251 assert_mprog_count(target, 0);
263 static void test_tc_opts_after_target(int target)
291 assert_mprog_count(target, 0);
293 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
297 assert_mprog_count(target, 1);
299 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
303 assert_mprog_count(target, 2);
310 err = bpf_prog_query_opts(loopback, target, &optq);
333 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
340 err = bpf_prog_query_opts(loopback, target, &optq);
356 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
360 assert_mprog_count(target, 4);
365 err = bpf_prog_query_opts(loopback, target, &optq);
386 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
388 assert_mprog_count(target, 3);
393 err = bpf_prog_query_opts(loopback, target, &optq);
405 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
407 assert_mprog_count(target, 2);
412 err = bpf_prog_query_opts(loopback, target, &optq);
423 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
425 assert_mprog_count(target, 1);
430 err = bpf_prog_query_opts(loopback, target, &optq);
440 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
442 assert_mprog_count(target, 0);
454 static void test_tc_opts_revision_target(int target)
476 assert_mprog_count(target, 0);
482 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
486 assert_mprog_count(target, 1);
492 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
496 assert_mprog_count(target, 1);
502 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
506 assert_mprog_count(target, 2);
513 err = bpf_prog_query_opts(loopback, target, &optq);
533 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
535 assert_mprog_count(target, 2);
542 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
544 assert_mprog_count(target, 1);
549 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
551 assert_mprog_count(target, 0);
563 static void test_tc_chain_classic(int target, bool chain_tc_old)
589 assert_mprog_count(target, 0);
592 tc_hook.attach_point = target == BPF_TCX_INGRESS ?
608 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
612 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
616 assert_mprog_count(target, 2);
625 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
629 assert_mprog_count(target, 1);
639 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
643 assert_mprog_count(target, 0);
655 assert_mprog_count(target, 0);
666 static void test_tc_opts_replace_target(int target)
691 assert_mprog_count(target, 0);
697 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
701 assert_mprog_count(target, 1);
709 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
715 assert_mprog_count(target, 2);
724 err = bpf_prog_query_opts(loopback, target, &optq);
751 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
757 assert_mprog_count(target, 2);
762 err = bpf_prog_query_opts(loopback, target, &optq);
786 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
792 assert_mprog_count(target, 2);
797 err = bpf_prog_query_opts(loopback, target, &optq);
819 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
821 assert_mprog_count(target, 2);
830 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
832 assert_mprog_count(target, 2);
841 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
843 assert_mprog_count(target, 2);
852 err = bpf_prog_detach_opts(detach_fd, loopback, target, &optd);
854 assert_mprog_count(target, 1);
859 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
861 assert_mprog_count(target, 0);
873 static void test_tc_opts_invalid_target(int target)
893 assert_mprog_count(target, 0);
899 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
901 assert_mprog_count(target, 0);
907 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
909 assert_mprog_count(target, 0);
915 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
917 assert_mprog_count(target, 0);
923 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
925 assert_mprog_count(target, 0);
932 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
934 assert_mprog_count(target, 0);
941 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
943 assert_mprog_count(target, 0);
950 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
952 assert_mprog_count(target, 0);
959 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
961 assert_mprog_count(target, 0);
965 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
969 assert_mprog_count(target, 1);
973 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
975 assert_mprog_count(target, 1);
982 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
984 assert_mprog_count(target, 1);
991 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
993 assert_mprog_count(target, 1);
1000 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
1002 assert_mprog_count(target, 1);
1009 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
1011 assert_mprog_count(target, 1);
1013 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1015 assert_mprog_count(target, 0);
1026 static void test_tc_opts_prepend_target(int target)
1054 assert_mprog_count(target, 0);
1056 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
1060 assert_mprog_count(target, 1);
1066 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
1070 assert_mprog_count(target, 2);
1077 err = bpf_prog_query_opts(loopback, target, &optq);
1099 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
1107 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
1111 assert_mprog_count(target, 4);
1116 err = bpf_prog_query_opts(loopback, target, &optq);
1137 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
1139 assert_mprog_count(target, 3);
1142 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
1144 assert_mprog_count(target, 2);
1147 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1149 assert_mprog_count(target, 1);
1152 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1154 assert_mprog_count(target, 0);
1166 static void test_tc_opts_append_target(int target)
1194 assert_mprog_count(target, 0);
1196 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
1200 assert_mprog_count(target, 1);
1206 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
1210 assert_mprog_count(target, 2);
1217 err = bpf_prog_query_opts(loopback, target, &optq);
1239 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
1247 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
1251 assert_mprog_count(target, 4);
1256 err = bpf_prog_query_opts(loopback, target, &optq);
1277 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
1279 assert_mprog_count(target, 3);
1282 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
1284 assert_mprog_count(target, 2);
1287 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1289 assert_mprog_count(target, 1);
1292 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1294 assert_mprog_count(target, 0);
1306 static void test_tc_opts_dev_cleanup_target(int target)
1337 assert_mprog_count_ifindex(ifindex, target, 0);
1339 err = bpf_prog_attach_opts(fd1, ifindex, target, &opta);
1343 assert_mprog_count_ifindex(ifindex, target, 1);
1345 err = bpf_prog_attach_opts(fd2, ifindex, target, &opta);
1349 assert_mprog_count_ifindex(ifindex, target, 2);
1351 err = bpf_prog_attach_opts(fd3, ifindex, target, &opta);
1355 assert_mprog_count_ifindex(ifindex, target, 3);
1357 err = bpf_prog_attach_opts(fd4, ifindex, target, &opta);
1361 assert_mprog_count_ifindex(ifindex, target, 4);
1368 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
1371 assert_mprog_count_ifindex(ifindex, target, 2);
1373 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1376 assert_mprog_count_ifindex(ifindex, target, 1);
1378 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1381 assert_mprog_count_ifindex(ifindex, target, 0);
1396 static void test_tc_opts_mixed_target(int target)
1413 ASSERT_EQ(bpf_program__set_expected_attach_type(skel->progs.tc1, target),
1415 ASSERT_EQ(bpf_program__set_expected_attach_type(skel->progs.tc2, target),
1417 ASSERT_EQ(bpf_program__set_expected_attach_type(skel->progs.tc3, target),
1419 ASSERT_EQ(bpf_program__set_expected_attach_type(skel->progs.tc4, target),
1435 assert_mprog_count(target, 0);
1438 loopback, target, &opta);
1444 assert_mprog_count(target, 1);
1453 assert_mprog_count(target, 2);
1461 loopback, target, &opta);
1464 assert_mprog_count(target, 2);
1472 loopback, target, &opta);
1475 assert_mprog_count(target, 2);
1483 loopback, target, &opta);
1486 assert_mprog_count(target, 2);
1494 loopback, target, &opta);
1500 assert_mprog_count(target, 2);
1509 assert_mprog_count(target, 3);
1517 loopback, target, &opta);
1531 err = bpf_prog_query_opts(loopback, target, &optq);
1557 err = bpf_prog_detach_opts(detach_fd, loopback, target, &optd);
1559 assert_mprog_count(target, 2);
1563 assert_mprog_count(target, 0);
1572 static void test_tc_opts_demixed_target(int target)
1586 ASSERT_EQ(bpf_program__set_expected_attach_type(skel->progs.tc1, target),
1588 ASSERT_EQ(bpf_program__set_expected_attach_type(skel->progs.tc2, target),
1599 assert_mprog_count(target, 0);
1602 loopback, target, &opta);
1606 assert_mprog_count(target, 1);
1613 assert_mprog_count(target, 2);
1619 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1622 assert_mprog_count(target, 2);
1628 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1631 assert_mprog_count(target, 1);
1636 loopback, target, &optd);
1638 assert_mprog_count(target, 2);
1642 assert_mprog_count(target, 0);
1651 static void test_tc_opts_detach_target(int target)
1679 assert_mprog_count(target, 0);
1681 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
1685 assert_mprog_count(target, 1);
1687 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
1691 assert_mprog_count(target, 2);
1693 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
1697 assert_mprog_count(target, 3);
1699 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
1703 assert_mprog_count(target, 4);
1710 err = bpf_prog_query_opts(loopback, target, &optq);
1726 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1729 assert_mprog_count(target, 3);
1734 err = bpf_prog_query_opts(loopback, target, &optq);
1749 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1752 assert_mprog_count(target, 2);
1757 err = bpf_prog_query_opts(loopback, target, &optq);
1769 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
1771 assert_mprog_count(target, 1);
1773 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1775 assert_mprog_count(target, 0);
1781 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1788 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1793 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
1795 assert_mprog_count(target, 3);
1798 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
1800 assert_mprog_count(target, 2);
1803 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1805 assert_mprog_count(target, 1);
1808 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1810 assert_mprog_count(target, 0);
1822 static void test_tc_opts_detach_before_target(int target)
1850 assert_mprog_count(target, 0);
1852 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
1856 assert_mprog_count(target, 1);
1858 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
1862 assert_mprog_count(target, 2);
1864 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
1868 assert_mprog_count(target, 3);
1870 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
1874 assert_mprog_count(target, 4);
1881 err = bpf_prog_query_opts(loopback, target, &optq);
1898 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1901 assert_mprog_count(target, 3);
1906 err = bpf_prog_query_opts(loopback, target, &optq);
1922 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
1924 assert_mprog_count(target, 3);
1931 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1933 assert_mprog_count(target, 3);
1940 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1942 assert_mprog_count(target, 3);
1949 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
1952 assert_mprog_count(target, 2);
1957 err = bpf_prog_query_opts(loopback, target, &optq);
1972 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1975 assert_mprog_count(target, 1);
1980 err = bpf_prog_query_opts(loopback, target, &optq);
1993 err = bpf_prog_detach_opts(0, loopback, target, &optd);
1996 assert_mprog_count(target, 0);
2000 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
2002 assert_mprog_count(target, 3);
2005 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
2007 assert_mprog_count(target, 2);
2010 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
2012 assert_mprog_count(target, 1);
2015 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2017 assert_mprog_count(target, 0);
2029 static void test_tc_opts_detach_after_target(int target)
2057 assert_mprog_count(target, 0);
2059 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
2063 assert_mprog_count(target, 1);
2065 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
2069 assert_mprog_count(target, 2);
2071 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
2075 assert_mprog_count(target, 3);
2077 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
2081 assert_mprog_count(target, 4);
2088 err = bpf_prog_query_opts(loopback, target, &optq);
2105 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
2108 assert_mprog_count(target, 3);
2113 err = bpf_prog_query_opts(loopback, target, &optq);
2129 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
2131 assert_mprog_count(target, 3);
2138 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2140 assert_mprog_count(target, 3);
2147 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2149 assert_mprog_count(target, 3);
2156 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2158 assert_mprog_count(target, 3);
2165 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
2168 assert_mprog_count(target, 2);
2173 err = bpf_prog_query_opts(loopback, target, &optq);
2188 err = bpf_prog_detach_opts(0, loopback, target, &optd);
2191 assert_mprog_count(target, 1);
2196 err = bpf_prog_query_opts(loopback, target, &optq);
2209 err = bpf_prog_detach_opts(0, loopback, target, &optd);
2212 assert_mprog_count(target, 0);
2216 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
2218 assert_mprog_count(target, 3);
2221 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
2223 assert_mprog_count(target, 2);
2226 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
2228 assert_mprog_count(target, 1);
2231 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2233 assert_mprog_count(target, 0);
2245 static void test_tc_opts_delete_empty(int target, bool chain_tc_old)
2251 assert_mprog_count(target, 0);
2253 tc_hook.attach_point = target == BPF_TCX_INGRESS ?
2257 assert_mprog_count(target, 0);
2259 err = bpf_prog_detach_opts(0, loopback, target, &optd);
2265 assert_mprog_count(target, 0);
2276 static void test_tc_chain_mixed(int target)
2301 assert_mprog_count(target, 0);
2303 tc_hook.attach_point = target == BPF_TCX_INGRESS ?
2315 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
2321 assert_mprog_count(target, 1);
2335 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
2341 assert_mprog_count(target, 1);
2351 err = bpf_prog_detach_opts(detach_fd, loopback, target, &optd);
2353 assert_mprog_count(target, 0);
2405 static void test_tc_opts_max_target(int target, int flags, bool relative)
2415 assert_mprog_count_ifindex(ifindex, target, 0);
2421 err = bpf_prog_attach_opts(prog_fd, ifindex, target, &opta);
2424 assert_mprog_count_ifindex(ifindex, target, i + 1);
2437 err = bpf_prog_attach_opts(prog_fd, ifindex, target, &opta);
2439 assert_mprog_count_ifindex(ifindex, target, max_progs);
2461 static void test_tc_opts_query_target(int target)
2487 assert_mprog_count(target, 0);
2493 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
2497 assert_mprog_count(target, 1);
2503 err = bpf_prog_attach_opts(fd2, loopback, target, &opta);
2507 assert_mprog_count(target, 2);
2513 err = bpf_prog_attach_opts(fd3, loopback, target, &opta);
2517 assert_mprog_count(target, 3);
2523 err = bpf_prog_attach_opts(fd4, loopback, target, &opta);
2527 assert_mprog_count(target, 4);
2530 err = bpf_prog_query_opts(loopback, target, &optq);
2542 err = bpf_prog_query_opts(loopback, target, &optq);
2558 attr.query.attach_type = target;
2569 ASSERT_EQ(attr.query.attach_type, target, "attach_type");
2587 ASSERT_EQ(attr.query.attach_type, target, "attach_type");
2601 attr.query.attach_type = target;
2616 ASSERT_EQ(attr.query.attach_type, target, "attach_type");
2630 attr.query.attach_type = target;
2645 ASSERT_EQ(attr.query.attach_type, target, "attach_type");
2659 attr.query.attach_type = target;
2673 ASSERT_EQ(attr.query.attach_type, target, "attach_type");
2687 attr.query.attach_type = target;
2701 ASSERT_EQ(attr.query.attach_type, target, "attach_type");
2728 err = bpf_prog_detach_opts(fd4, loopback, target, &optd);
2730 assert_mprog_count(target, 3);
2733 err = bpf_prog_detach_opts(fd3, loopback, target, &optd);
2735 assert_mprog_count(target, 2);
2738 err = bpf_prog_detach_opts(fd2, loopback, target, &optd);
2740 assert_mprog_count(target, 1);
2743 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2745 assert_mprog_count(target, 0);
2757 static void test_tc_opts_query_attach_target(int target)
2774 err = bpf_prog_query_opts(loopback, target, &optq);
2785 err = bpf_prog_attach_opts(fd1, loopback, target, &opta);
2793 err = bpf_prog_query_opts(loopback, target, &optq);
2803 err = bpf_prog_detach_opts(fd1, loopback, target, &optd);
2805 assert_mprog_count(target, 0);