Lines Matching defs:xfrm_sock

914 static int xfrm_state_add(int xfrm_sock, uint32_t seq, uint32_t spi,
957 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
962 return netlink_check_answer(xfrm_sock);
1003 static int xfrm_state_check(int xfrm_sock, uint32_t seq, uint32_t spi,
1040 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1046 if (recv(xfrm_sock, &answer, sizeof(answer), 0) < 0) {
1066 static int xfrm_set(int xfrm_sock, uint32_t *seq,
1073 err = xfrm_state_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst, desc);
1079 err = xfrm_state_add(xfrm_sock, (*seq)++, gen_spi(src), dst, src, desc);
1086 err = xfrm_state_check(xfrm_sock, (*seq)++, gen_spi(src), src, dst, desc);
1087 err |= xfrm_state_check(xfrm_sock, (*seq)++, gen_spi(src), dst, src, desc);
1096 static int xfrm_policy_add(int xfrm_sock, uint32_t seq, uint32_t spi,
1144 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1149 return netlink_check_answer(xfrm_sock);
1152 static int xfrm_prepare(int xfrm_sock, uint32_t *seq,
1156 if (xfrm_policy_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst,
1162 if (xfrm_policy_add(xfrm_sock, (*seq)++, gen_spi(src), dst, src,
1171 static int xfrm_policy_del(int xfrm_sock, uint32_t seq,
1195 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1200 return netlink_check_answer(xfrm_sock);
1203 static int xfrm_cleanup(int xfrm_sock, uint32_t *seq,
1207 if (xfrm_policy_del(xfrm_sock, (*seq)++, src, dst,
1213 if (xfrm_policy_del(xfrm_sock, (*seq)++, dst, src,
1222 static int xfrm_state_del(int xfrm_sock, uint32_t seq, uint32_t spi,
1248 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1253 return netlink_check_answer(xfrm_sock);
1256 static int xfrm_delete(int xfrm_sock, uint32_t *seq,
1260 if (xfrm_state_del(xfrm_sock, (*seq)++, gen_spi(src), src, dst, proto)) {
1265 if (xfrm_state_del(xfrm_sock, (*seq)++, gen_spi(src), dst, src, proto)) {
1273 static int xfrm_state_allocspi(int xfrm_sock, uint32_t *seq,
1299 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1304 if (recv(xfrm_sock, &answer, sizeof(answer), 0) < 0) {
1364 static int xfrm_monitor_acquire(int xfrm_sock, uint32_t *seq, unsigned int nr)
1397 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1402 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) {
1434 static int xfrm_expire_state(int xfrm_sock, uint32_t *seq,
1451 if (xfrm_state_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst, desc)) {
1471 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1476 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) {
1506 static int xfrm_expire_policy(int xfrm_sock, uint32_t *seq,
1525 if (xfrm_policy_add(xfrm_sock, (*seq)++, gen_spi(src), src, dst,
1549 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1554 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) {
1584 static int xfrm_spdinfo_set_thresh(int xfrm_sock, uint32_t *seq,
1624 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1629 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) {
1645 static int xfrm_spdinfo_attrs(int xfrm_sock, uint32_t *seq)
1656 if (xfrm_spdinfo_set_thresh(xfrm_sock, seq, 32, 31, 120, 16, false)) {
1667 if (send(xfrm_sock, &req, req.nh.nlmsg_len, 0) < 0) {
1672 if (recv(xfrm_sock, &req, sizeof(req), 0) < 0) {
1715 if (xfrm_spdinfo_set_thresh(xfrm_sock, seq, 32, 32, 128, 128, false)) {
1727 if (xfrm_spdinfo_set_thresh(xfrm_sock, seq, 32, 32, 128, 128, true))
1733 static int child_serv(int xfrm_sock, uint32_t *seq,
1756 if (xfrm_prepare(xfrm_sock, seq, src, dst, tunsrc, tundst, desc->proto)) {
1765 if (xfrm_set(xfrm_sock, seq, src, dst, tunsrc, tundst, desc)) {
1785 if (xfrm_delete(xfrm_sock, seq, src, dst, tunsrc, tundst, desc->proto)) {
1795 if (xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst)) {
1806 int xfrm_sock = -1;
1812 if (netlink_sock(&xfrm_sock, &seq, NETLINK_XFRM)) {
1841 ret = child_serv(xfrm_sock, &seq, nr,
1845 ret = xfrm_state_allocspi(xfrm_sock, &seq,
1849 ret = xfrm_monitor_acquire(xfrm_sock, &seq, nr);
1852 ret = xfrm_expire_state(xfrm_sock, &seq, nr, &desc);
1855 ret = xfrm_expire_policy(xfrm_sock, &seq, nr, &desc);
1858 ret = xfrm_spdinfo_attrs(xfrm_sock, &seq);
1867 close(xfrm_sock);
1875 struct test_desc *msg, int xfrm_sock, uint32_t *seq)
1902 if (xfrm_prepare(xfrm_sock, seq, src, dst, tunsrc, tundst,
1904 xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst);
1909 if (xfrm_set(xfrm_sock, seq, src, dst, tunsrc, tundst, desc)) {
1910 xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst);
1915 if (xfrm_delete(xfrm_sock, seq, src, dst, tunsrc, tundst,
1917 xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst);
1922 if (xfrm_cleanup(xfrm_sock, seq, src, dst, tunsrc, tundst)) {
1934 int xfrm_sock = -1;
1940 if (netlink_sock(&xfrm_sock, &seq, NETLINK_XFRM)) {
1947 grand_child_serv(nr, cmd_fd, buf, &msg, xfrm_sock, &seq);
1950 close(xfrm_sock);