• Home
  • Raw
  • Download

Lines Matching +full:short +full:- +full:ping

1 // SPDX-License-Identifier: GPL-2.0
3 * ipsec.c - Check xfrm on veth inside a net-ns.
44 #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
58 #define VETH_FMT "ktst-%d"
63 static int nsfd_parent = -1;
64 static int nsfd_childa = -1;
65 static int nsfd_childb = -1;
105 {"rfc4106(gcm(aes))-128", 160},
106 {"rfc4543(gcm(aes))-128", 160},
107 {"rfc4309(ccm(aes))-128", 152},
108 {"rfc4106(gcm(aes))-192", 224},
109 {"rfc4543(gcm(aes))-192", 224},
110 {"rfc4309(ccm(aes))-192", 216},
111 {"rfc4106(gcm(aes))-256", 288},
112 {"rfc4543(gcm(aes))-256", 288},
113 {"rfc4309(ccm(aes))-256", 280},
114 {"rfc7539(chacha20,poly1305)-128", 0}
126 while (words--) in randomize_buffer()
132 memcpy(buf + buflen - leftover, &tmp, leftover); in randomize_buffer()
145 return -1; in unshare_open()
151 return -1; in unshare_open()
161 return -1; in switch_ns()
168 * about cleanup on error-path.
174 return -1; in init_namespaces()
178 return -1; in init_namespaces()
181 return -1; in init_namespaces()
185 return -1; in init_namespaces()
188 return -1; in init_namespaces()
202 return -1; in netlink_sock()
212 return (struct rtattr *)((char *)(nh) + RTA_ALIGN((nh)->nlmsg_len)); in rtattr_hdr()
216 unsigned short rta_type, const void *payload, size_t size) in rtattr_pack()
220 size_t nl_size = RTA_ALIGN(nh->nlmsg_len) + RTA_LENGTH(size); in rtattr_pack()
224 return -1; in rtattr_pack()
226 nh->nlmsg_len = nl_size; in rtattr_pack()
228 attr->rta_len = RTA_LENGTH(size); in rtattr_pack()
229 attr->rta_type = rta_type; in rtattr_pack()
236 unsigned short rta_type, const void *payload, size_t size) in _rtattr_begin()
247 unsigned short rta_type) in rtattr_begin()
254 char *nlmsg_end = (char *)nh + nh->nlmsg_len; in rtattr_end()
256 attr->rta_len = nlmsg_end - (char *)attr; in rtattr_end()
271 return -1; in veth_pack_peerb()
274 return -1; in veth_pack_peerb()
277 return -1; in veth_pack_peerb()
294 return -1; in netlink_check_answer()
297 return -1; in netlink_check_answer()
300 answer.error, strerror(-answer.error)); in netlink_check_answer()
328 return -1; in veth_add()
331 return -1; in veth_add()
335 return -1; in veth_add()
338 return -1; in veth_add()
342 return -1; in veth_add()
345 return -1; in veth_add()
352 return -1; in veth_add()
380 strncpy(addr_str, inet_ntoa(addr), IPV4_STR_SZ - 1); in ip4_addr_set()
387 return -1; in ip4_addr_set()
390 return -1; in ip4_addr_set()
394 return -1; in ip4_addr_set()
420 return -1; in link_set_up()
448 return -1; in ip4_route_set()
451 return -1; in ip4_route_set()
454 return -1; in ip4_route_set()
458 return -1; in ip4_route_set()
470 return -1; in tunnel_set_route()
475 return -1; in tunnel_set_route()
486 int route_sock = -1, ret = -1; in init_child()
490 return -1; in init_child()
494 return -1; in init_child()
563 } ping; member
631 return -1; in udp_ping_init()
665 return -1; in udp_ping_init()
683 return -1; in udp_ping_send()
686 return -1; in udp_ping_send()
693 return -1; in udp_ping_send()
695 printk("EOF on reply to ping"); in udp_ping_send()
696 return -1; in udp_ping_send()
698 printk("ping reply packet is corrupted %zd/%zu", r_bytes, buf_len); in udp_ping_send()
699 return -1; in udp_ping_send()
721 return -1; in udp_ping_reply()
724 printk("EOF on reply to ping"); in udp_ping_reply()
725 return -1; in udp_ping_reply()
728 printk("ping reply packet is corrupted %zd/%zu", r_bytes, buf_len); in udp_ping_reply()
729 return -1; in udp_ping_reply()
735 return -1; in udp_ping_reply()
738 return -1; in udp_ping_reply()
755 printk("Failed to init ping"); in do_ping()
756 return -1; in do_ping()
761 msg.body.ping.port = s_port; in do_ping()
762 memcpy(&msg.body.ping.reply_ip, &from, sizeof(from)); in do_ping()
766 /* The other end sends ip to ping */ in do_ping()
769 return -1; in do_ping()
770 to = msg.body.ping.reply_ip; in do_ping()
771 d_port = msg.body.ping.port; in do_ping()
787 strncpy(to_str, inet_ntoa(*(struct in_addr *)&to), IPV4_STR_SZ - 1); in do_ping()
788 strncpy(from_str, inet_ntoa(from), IPV4_STR_SZ - 1); in do_ping()
791 printk("ping (%s) %s->%s failed %u/%u times", in do_ping()
793 ping_count - ping_succeeded, ping_count); in do_ping()
794 return -1; in do_ping()
798 printk("ping (%s) %s->%s succeeded %u/%u times", in do_ping()
817 printk("Can't pack a key - too big for buffer"); in xfrm_fill_key()
818 return -1; in xfrm_fill_key()
838 unsigned short type; in xfrm_state_pack_algo()
840 alen = strlen(desc->a_algo); in xfrm_state_pack_algo()
841 elen = strlen(desc->e_algo); in xfrm_state_pack_algo()
842 clen = strlen(desc->c_algo); in xfrm_state_pack_algo()
843 aelen = strlen(desc->ae_algo); in xfrm_state_pack_algo()
846 switch (desc->proto) { in xfrm_state_pack_algo()
850 return -1; in xfrm_state_pack_algo()
852 strncpy(alg.u.alg.alg_name, desc->a_algo, ALGO_LEN - 1); in xfrm_state_pack_algo()
853 if (xfrm_fill_key(desc->a_algo, alg.u.alg.alg_key, in xfrm_state_pack_algo()
855 return -1; in xfrm_state_pack_algo()
861 return -1; in xfrm_state_pack_algo()
863 strncpy(alg.u.alg.alg_name, desc->c_algo, ALGO_LEN - 1); in xfrm_state_pack_algo()
864 if (xfrm_fill_key(desc->c_algo, alg.u.alg.alg_key, in xfrm_state_pack_algo()
866 return -1; in xfrm_state_pack_algo()
872 return -1; in xfrm_state_pack_algo()
875 alg.u.aead.alg_icv_len = desc->icv_len; in xfrm_state_pack_algo()
876 strncpy(alg.u.aead.alg_name, desc->ae_algo, ALGO_LEN - 1); in xfrm_state_pack_algo()
877 if (xfrm_fill_key(desc->ae_algo, alg.u.aead.alg_key, in xfrm_state_pack_algo()
879 return -1; in xfrm_state_pack_algo()
883 strncpy(alg.u.alg.alg_name, desc->e_algo, ALGO_LEN - 1); in xfrm_state_pack_algo()
885 if (xfrm_fill_key(desc->e_algo, alg.u.alg.alg_key, in xfrm_state_pack_algo()
887 return -1; in xfrm_state_pack_algo()
889 return -1; in xfrm_state_pack_algo()
891 strncpy(alg.u.alg.alg_name, desc->a_algo, ALGO_LEN); in xfrm_state_pack_algo()
893 if (xfrm_fill_key(desc->a_algo, alg.u.alg.alg_key, in xfrm_state_pack_algo()
895 return -1; in xfrm_state_pack_algo()
900 return -1; in xfrm_state_pack_algo()
904 return -1; in xfrm_state_pack_algo()
939 /* Note: zero-spi cannot be deleted */ in xfrm_state_add()
941 req.info.id.proto = desc->proto; in xfrm_state_add()
955 return -1; in xfrm_state_add()
959 return -1; in xfrm_state_add()
969 if (memcmp(&info->sel.daddr, &dst, sizeof(dst))) in xfrm_usersa_found()
972 if (memcmp(&info->sel.saddr, &src, sizeof(src))) in xfrm_usersa_found()
975 if (info->sel.family != AF_INET || in xfrm_usersa_found()
976 info->sel.prefixlen_d != PREFIX_LEN || in xfrm_usersa_found()
977 info->sel.prefixlen_s != PREFIX_LEN) in xfrm_usersa_found()
980 if (info->id.spi != spi || info->id.proto != desc->proto) in xfrm_usersa_found()
983 if (memcmp(&info->id.daddr, &dst, sizeof(dst))) in xfrm_usersa_found()
986 if (memcmp(&info->saddr, &src, sizeof(src))) in xfrm_usersa_found()
989 if (info->lft.soft_byte_limit != XFRM_INF || in xfrm_usersa_found()
990 info->lft.hard_byte_limit != XFRM_INF || in xfrm_usersa_found()
991 info->lft.soft_packet_limit != XFRM_INF || in xfrm_usersa_found()
992 info->lft.hard_packet_limit != XFRM_INF) in xfrm_usersa_found()
995 if (info->family != AF_INET || info->mode != XFRM_MODE_TUNNEL) in xfrm_usersa_found()
1038 return -1; in xfrm_state_check()
1042 return -1; in xfrm_state_check()
1048 return -1; in xfrm_state_check()
1052 answer.error, strerror(-answer.error)); in xfrm_state_check()
1053 return -1; in xfrm_state_check()
1058 return -1; in xfrm_state_check()
1076 return -1; in xfrm_set()
1082 return -1; in xfrm_set()
1090 return -1; in xfrm_set()
1131 /* Note: zero-spi cannot be deleted */ in xfrm_policy_add()
1142 return -1; in xfrm_policy_add()
1146 return -1; in xfrm_policy_add()
1159 return -1; in xfrm_prepare()
1165 return -1; in xfrm_prepare()
1197 return -1; in xfrm_policy_del()
1210 return -1; in xfrm_cleanup()
1216 return -1; in xfrm_cleanup()
1241 /* Note: zero-spi cannot be deleted */ in xfrm_state_del()
1246 return -1; in xfrm_state_del()
1250 return -1; in xfrm_state_del()
1262 return -1; in xfrm_delete()
1267 return -1; in xfrm_delete()
1321 printk("NLMSG_ERROR: %d: %s", answer.error, strerror(-answer.error)); in xfrm_state_allocspi()
1329 int ret = -1; in netlink_sock_bind()
1336 return -1; in netlink_sock_bind()
1375 int xfrm_listen = -1, ret = KSFT_FAIL; in xfrm_monitor_acquire()
1411 printk("NLMSG_ERROR: %d: %s", req.error, strerror(-req.error)); in xfrm_monitor_acquire()
1445 int xfrm_listen = -1, ret = KSFT_FAIL; in xfrm_expire_state()
1467 req.expire.state.id.proto = desc->proto; in xfrm_expire_state()
1485 printk("NLMSG_ERROR: %d: %s", req.error, strerror(-req.error)); in xfrm_expire_state()
1517 int xfrm_listen = -1, ret = KSFT_FAIL; in xfrm_expire_policy()
1526 XFRM_POLICY_OUT, tunsrc, tundst, desc->proto)) { in xfrm_expire_policy()
1563 printk("NLMSG_ERROR: %d: %s", req.error, strerror(-req.error)); in xfrm_expire_policy()
1609 return -1; in xfrm_spdinfo_set_thresh()
1614 return -1; in xfrm_spdinfo_set_thresh()
1620 return -1; in xfrm_spdinfo_set_thresh()
1626 return -1; in xfrm_spdinfo_set_thresh()
1631 return -1; in xfrm_spdinfo_set_thresh()
1634 return -1; in xfrm_spdinfo_set_thresh()
1638 printk("NLMSG_ERROR: %d: %s", req.error, strerror(-req.error)); in xfrm_spdinfo_set_thresh()
1639 return -1; in xfrm_spdinfo_set_thresh()
1681 if (attr->rta_type == XFRMA_SPD_IPV4_HTHRESH) { in xfrm_spdinfo_attrs()
1685 if (t->lbits != 32 || t->rbits != 31) { in xfrm_spdinfo_attrs()
1687 t->lbits, t->rbits); in xfrm_spdinfo_attrs()
1691 if (attr->rta_type == XFRMA_SPD_IPV6_HTHRESH) { in xfrm_spdinfo_attrs()
1695 if (t->lbits != 120 || t->rbits != 16) { in xfrm_spdinfo_attrs()
1697 t->lbits, t->rbits); in xfrm_spdinfo_attrs()
1710 printk("NLMSG_ERROR: %d: %s", req.error, strerror(-req.error)); in xfrm_spdinfo_attrs()
1711 return -1; in xfrm_spdinfo_attrs()
1722 * implies NL_VALIDATE_LIBERAL - ignoring attributes with in xfrm_spdinfo_attrs()
1747 printk("ping failed before setting xfrm"); in child_serv()
1756 if (xfrm_prepare(xfrm_sock, seq, src, dst, tunsrc, tundst, desc->proto)) { in child_serv()
1773 printk("ping failed for xfrm"); in child_serv()
1785 if (xfrm_delete(xfrm_sock, seq, src, dst, tunsrc, tundst, desc->proto)) { in child_serv()
1786 printk("failed ping to remove xfrm"); in child_serv()
1796 printk("failed ping to cleanup xfrm"); in child_serv()
1806 int xfrm_sock = -1; in child_f()
1846 -1, desc.proto); in child_f()
1879 struct xfrm_desc *desc = &msg->body.xfrm_desc; in grand_child_serv()
1886 switch (msg->type) { in grand_child_serv()
1893 tun_reply = memcmp(&dst, &msg->body.ping.reply_ip, sizeof(in_addr_t)); in grand_child_serv()
1896 false, msg->body.ping.port, in grand_child_serv()
1897 msg->body.ping.reply_ip, udp_ping_reply)) { in grand_child_serv()
1898 printk("ping failed before setting xfrm"); in grand_child_serv()
1903 desc->proto)) { in grand_child_serv()
1916 desc->proto)) { in grand_child_serv()
1927 printk("got unknown msg type %d", msg->type); in grand_child_serv()
1934 int xfrm_sock = -1; in grand_child_f()
1961 return -1; in start_child()
1964 return -1; in start_child()
1969 return -1; in start_child()
1971 /* in parent - selftest */ in start_child()
1977 return -1; in start_child()
1982 MAP_SHARED | MAP_ANONYMOUS, -1, 0); in start_child()
1985 return -1; in start_child()
1992 return -1; in start_child()
1998 return -1; in start_child()
2002 return -1; in start_child()
2008 return -1; in start_child()
2030 return -1; in __write_desc()
2042 strncpy(desc.a_algo, a, ALGO_LEN - 1); in write_desc()
2044 strncpy(desc.e_algo, e, ALGO_LEN - 1); in write_desc()
2046 strncpy(desc.c_algo, c, ALGO_LEN - 1); in write_desc()
2048 strncpy(desc.ae_algo, ae, ALGO_LEN - 1); in write_desc()
2091 return -1; in write_proto_plan()
2097 return -1; in write_proto_plan()
2107 return -1; in write_proto_plan()
2112 return -1; in write_proto_plan()
2117 return -1; in write_proto_plan()
2125 * 64-bit and 32-bit ABI:
2127 * 32-bit UABI | 64-bit UABI
2128 * -------------------------------------|-------------------------------------
2147 strncpy(desc.a_algo, ah_list[0], ALGO_LEN - 1); in write_compat_struct_tests()
2150 return -1; in write_compat_struct_tests()
2154 return -1; in write_compat_struct_tests()
2158 return -1; in write_compat_struct_tests()
2162 return -1; in write_compat_struct_tests()
2166 return -1; in write_compat_struct_tests()
2179 return -1; in write_test_plan()
2257 desc_name[d->type], (unsigned int)d->proto, d->a_algo, in check_results()
2258 d->e_algo, d->c_algo, d->ae_algo, d->icv_len); in check_results()
2267 int route_sock = -1, ret = KSFT_SKIP; in main()