static void test_bpf_nf_ct(int mode)
 {
-       const char *iptables = "iptables -t raw %s PREROUTING -j CONNMARK --set-mark 42/0";
+       const char *iptables = "iptables-legacy -t raw %s PREROUTING -j CONNMARK --set-mark 42/0";
        int srv_fd = -1, client_fd = -1, srv_client_fd = -1;
        struct sockaddr_in peer_addr = {};
        struct test_bpf_nf *skel;
        int prog_fd, err;
        socklen_t len;
        u16 srv_port;
-       char cmd[64];
+       char cmd[128];
        LIBBPF_OPTS(bpf_test_run_opts, topts,
                .data_in = &pkt_v4,
                .data_size_in = sizeof(pkt_v4),
 
        /* Enable connection tracking */
        snprintf(cmd, sizeof(cmd), iptables, "-A");
-       if (!ASSERT_OK(system(cmd), "iptables"))
+       if (!ASSERT_OK(system(cmd), cmd))
                goto end;
 
        srv_port = (mode == TEST_XDP) ? 5005 : 5006;
 
        SYS("sysctl -w net.ipv4.tcp_syncookies=2");
        SYS("sysctl -w net.ipv4.tcp_timestamps=1");
        SYS("sysctl -w net.netfilter.nf_conntrack_tcp_loose=0");
-       SYS("iptables -t raw -I PREROUTING \
+       SYS("iptables-legacy -t raw -I PREROUTING \
            -i tmp1 -p tcp -m tcp --syn --dport 8080 -j CT --notrack");
-       SYS("iptables -t filter -A INPUT \
+       SYS("iptables-legacy -t filter -A INPUT \
            -i tmp1 -p tcp -m tcp --dport 8080 -m state --state INVALID,UNTRACKED \
            -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460");
-       SYS("iptables -t filter -A INPUT \
+       SYS("iptables-legacy -t filter -A INPUT \
            -i tmp1 -m state --state INVALID -j DROP");
 
        ctrl_file = SYS_OUT("./xdp_synproxy --iface tmp1 --ports 8080 \