Lines Matching refs:xfrm_sock

915 static int xfrm_state_add(int xfrm_sock, uint32_t seq, uint32_t spi,  in xfrm_state_add()  argument
958 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_state_add()
963 return netlink_check_answer(xfrm_sock); in xfrm_state_add()
1004 static int xfrm_state_check(int xfrm_sock, uint32_t seq, uint32_t spi, in xfrm_state_check() argument
1041 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_state_check()
1047 if (recv(xfrm_sock, &answer, sizeof(answer), 0) < 0) { in xfrm_state_check()
1067 static int xfrm_set(int xfrm_sock, uint32_t *seq, in xfrm_set() argument
1074 err = xfrm_state_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst, desc); in xfrm_set()
1080 err = xfrm_state_add(xfrm_sock, (*seq)++, gen_spi(src), dst, src, desc); in xfrm_set()
1087 err = xfrm_state_check(xfrm_sock, (*seq)++, gen_spi(src), src, dst, desc); in xfrm_set()
1088 err |= xfrm_state_check(xfrm_sock, (*seq)++, gen_spi(src), dst, src, desc); in xfrm_set()
1097 static int xfrm_policy_add(int xfrm_sock, uint32_t seq, uint32_t spi, in xfrm_policy_add() argument
1145 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_policy_add()
1150 return netlink_check_answer(xfrm_sock); in xfrm_policy_add()
1153 static int xfrm_prepare(int xfrm_sock, uint32_t *seq, in xfrm_prepare() argument
1157 if (xfrm_policy_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst, in xfrm_prepare()
1163 if (xfrm_policy_add(xfrm_sock, (*seq)++, gen_spi(src), dst, src, in xfrm_prepare()
1172 static int xfrm_policy_del(int xfrm_sock, uint32_t seq, in xfrm_policy_del() argument
1196 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_policy_del()
1201 return netlink_check_answer(xfrm_sock); in xfrm_policy_del()
1204 static int xfrm_cleanup(int xfrm_sock, uint32_t *seq, in xfrm_cleanup() argument
1208 if (xfrm_policy_del(xfrm_sock, (*seq)++, src, dst, in xfrm_cleanup()
1214 if (xfrm_policy_del(xfrm_sock, (*seq)++, dst, src, in xfrm_cleanup()
1223 static int xfrm_state_del(int xfrm_sock, uint32_t seq, uint32_t spi, in xfrm_state_del() argument
1249 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_state_del()
1254 return netlink_check_answer(xfrm_sock); in xfrm_state_del()
1257 static int xfrm_delete(int xfrm_sock, uint32_t *seq, in xfrm_delete() argument
1261 if (xfrm_state_del(xfrm_sock, (*seq)++, gen_spi(src), src, dst, proto)) { in xfrm_delete()
1266 if (xfrm_state_del(xfrm_sock, (*seq)++, gen_spi(src), dst, src, proto)) { in xfrm_delete()
1274 static int xfrm_state_allocspi(int xfrm_sock, uint32_t *seq, in xfrm_state_allocspi() argument
1300 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_state_allocspi()
1305 if (recv(xfrm_sock, &answer, sizeof(answer), 0) < 0) { in xfrm_state_allocspi()
1365 static int xfrm_monitor_acquire(int xfrm_sock, uint32_t *seq, unsigned int nr) in xfrm_monitor_acquire() argument
1398 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_monitor_acquire()
1403 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) { in xfrm_monitor_acquire()
1435 static int xfrm_expire_state(int xfrm_sock, uint32_t *seq, in xfrm_expire_state() argument
1452 if (xfrm_state_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst, desc)) { in xfrm_expire_state()
1472 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_expire_state()
1477 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) { in xfrm_expire_state()
1507 static int xfrm_expire_policy(int xfrm_sock, uint32_t *seq, in xfrm_expire_policy() argument
1526 if (xfrm_policy_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst, in xfrm_expire_policy()
1550 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_expire_policy()
1555 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) { in xfrm_expire_policy()
1585 static int xfrm_spdinfo_set_thresh(int xfrm_sock, uint32_t *seq, in xfrm_spdinfo_set_thresh() argument
1625 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_spdinfo_set_thresh()
1630 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) { in xfrm_spdinfo_set_thresh()
1646 static int xfrm_spdinfo_attrs(int xfrm_sock, uint32_t *seq) in xfrm_spdinfo_attrs() argument
1657 if (xfrm_spdinfo_set_thresh(xfrm_sock, seq, 32, 31, 120, 16, false)) { in xfrm_spdinfo_attrs()
1668 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) { in xfrm_spdinfo_attrs()
1673 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) { in xfrm_spdinfo_attrs()
1716 if (xfrm_spdinfo_set_thresh(xfrm_sock, seq, 32, 32, 128, 128, false)) { in xfrm_spdinfo_attrs()
1728 if (xfrm_spdinfo_set_thresh(xfrm_sock, seq, 32, 32, 128, 128, true)) in xfrm_spdinfo_attrs()
1734 static int child_serv(int xfrm_sock, uint32_t *seq, in child_serv() argument
1757 if (xfrm_prepare(xfrm_sock, seq, src, dst, tunsrc, tundst, desc->proto)) { in child_serv()
1766 if (xfrm_set(xfrm_sock, seq, src, dst, tunsrc, tundst, desc)) { in child_serv()
1786 if (xfrm_delete(xfrm_sock, seq, src, dst, tunsrc, tundst, desc->proto)) { in child_serv()
1796 if (xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst)) { in child_serv()
1807 int xfrm_sock = -1; in child_f() local
1813 if (netlink_sock(&xfrm_sock, &seq, NETLINK_XFRM)) { in child_f()
1842 ret = child_serv(xfrm_sock, &seq, nr, in child_f()
1846 ret = xfrm_state_allocspi(xfrm_sock, &seq, in child_f()
1850 ret = xfrm_monitor_acquire(xfrm_sock, &seq, nr); in child_f()
1853 ret = xfrm_expire_state(xfrm_sock, &seq, nr, &desc); in child_f()
1856 ret = xfrm_expire_policy(xfrm_sock, &seq, nr, &desc); in child_f()
1859 ret = xfrm_spdinfo_attrs(xfrm_sock, &seq); in child_f()
1868 close(xfrm_sock); in child_f()
1876 struct test_desc *msg, int xfrm_sock, uint32_t *seq) in grand_child_serv() argument
1903 if (xfrm_prepare(xfrm_sock, seq, src, dst, tunsrc, tundst, in grand_child_serv()
1905 xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst); in grand_child_serv()
1910 if (xfrm_set(xfrm_sock, seq, src, dst, tunsrc, tundst, desc)) { in grand_child_serv()
1911 xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst); in grand_child_serv()
1916 if (xfrm_delete(xfrm_sock, seq, src, dst, tunsrc, tundst, in grand_child_serv()
1918 xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst); in grand_child_serv()
1923 if (xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst)) { in grand_child_serv()
1935 int xfrm_sock = -1; in grand_child_f() local
1941 if (netlink_sock(&xfrm_sock, &seq, NETLINK_XFRM)) { in grand_child_f()
1948 grand_child_serv(nr, cmd_fd, buf, &msg, xfrm_sock, &seq); in grand_child_f()
1951 close(xfrm_sock); in grand_child_f()