Lines Matching refs:attrs
46 ifindex = nla_get_u32(info->attrs[OVPN_A_IFINDEX]); in ovpn_get_dev_from_attrs()
61 NL_SET_BAD_ATTR(info->extack, info->attrs[OVPN_A_IFINDEX]); in ovpn_get_dev_from_attrs()
97 static bool ovpn_nl_attr_sockaddr_remote(struct nlattr **attrs, in ovpn_nl_attr_sockaddr_remote() argument
108 if (attrs[OVPN_A_PEER_REMOTE_PORT]) in ovpn_nl_attr_sockaddr_remote()
109 port = nla_get_be16(attrs[OVPN_A_PEER_REMOTE_PORT]); in ovpn_nl_attr_sockaddr_remote()
111 if (attrs[OVPN_A_PEER_REMOTE_IPV4]) { in ovpn_nl_attr_sockaddr_remote()
113 in = nla_data(attrs[OVPN_A_PEER_REMOTE_IPV4]); in ovpn_nl_attr_sockaddr_remote()
114 } else if (attrs[OVPN_A_PEER_REMOTE_IPV6]) { in ovpn_nl_attr_sockaddr_remote()
116 in6 = nla_data(attrs[OVPN_A_PEER_REMOTE_IPV6]); in ovpn_nl_attr_sockaddr_remote()
147 static u8 *ovpn_nl_attr_local_ip(struct nlattr **attrs) in ovpn_nl_attr_local_ip() argument
151 if (!attrs[OVPN_A_PEER_LOCAL_IPV4] && !attrs[OVPN_A_PEER_LOCAL_IPV6]) in ovpn_nl_attr_local_ip()
154 if (attrs[OVPN_A_PEER_LOCAL_IPV4]) in ovpn_nl_attr_local_ip()
155 return nla_data(attrs[OVPN_A_PEER_LOCAL_IPV4]); in ovpn_nl_attr_local_ip()
157 addr6 = nla_data(attrs[OVPN_A_PEER_LOCAL_IPV6]); in ovpn_nl_attr_local_ip()
184 struct nlattr **attrs) in ovpn_nl_peer_precheck() argument
188 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_PEER], attrs, in ovpn_nl_peer_precheck()
192 if (attrs[OVPN_A_PEER_REMOTE_IPV4] && attrs[OVPN_A_PEER_REMOTE_IPV6]) { in ovpn_nl_peer_precheck()
198 if (!attrs[OVPN_A_PEER_REMOTE_IPV4] && in ovpn_nl_peer_precheck()
199 !attrs[OVPN_A_PEER_REMOTE_IPV6] && attrs[OVPN_A_PEER_REMOTE_PORT]) { in ovpn_nl_peer_precheck()
205 if ((attrs[OVPN_A_PEER_REMOTE_IPV4] || in ovpn_nl_peer_precheck()
206 attrs[OVPN_A_PEER_REMOTE_IPV6]) && in ovpn_nl_peer_precheck()
207 !attrs[OVPN_A_PEER_REMOTE_PORT]) { in ovpn_nl_peer_precheck()
213 if (!attrs[OVPN_A_PEER_REMOTE_IPV4] && in ovpn_nl_peer_precheck()
214 attrs[OVPN_A_PEER_LOCAL_IPV4]) { in ovpn_nl_peer_precheck()
220 if (!attrs[OVPN_A_PEER_REMOTE_IPV6] && in ovpn_nl_peer_precheck()
221 attrs[OVPN_A_PEER_LOCAL_IPV6]) { in ovpn_nl_peer_precheck()
232 local_fam = ovpn_nl_family_get(attrs[OVPN_A_PEER_LOCAL_IPV4], in ovpn_nl_peer_precheck()
233 attrs[OVPN_A_PEER_LOCAL_IPV6]); in ovpn_nl_peer_precheck()
234 remote_fam = ovpn_nl_family_get(attrs[OVPN_A_PEER_REMOTE_IPV4], in ovpn_nl_peer_precheck()
235 attrs[OVPN_A_PEER_REMOTE_IPV6]); in ovpn_nl_peer_precheck()
243 if (remote_fam != AF_INET6 && attrs[OVPN_A_PEER_REMOTE_IPV6_SCOPE_ID]) { in ovpn_nl_peer_precheck()
250 if (ovpn->mode == OVPN_MODE_P2P && (attrs[OVPN_A_PEER_VPN_IPV4] || in ovpn_nl_peer_precheck()
251 attrs[OVPN_A_PEER_VPN_IPV6])) { in ovpn_nl_peer_precheck()
257 if ((attrs[OVPN_A_PEER_KEEPALIVE_INTERVAL] && in ovpn_nl_peer_precheck()
258 !attrs[OVPN_A_PEER_KEEPALIVE_TIMEOUT]) || in ovpn_nl_peer_precheck()
259 (!attrs[OVPN_A_PEER_KEEPALIVE_INTERVAL] && in ovpn_nl_peer_precheck()
260 attrs[OVPN_A_PEER_KEEPALIVE_TIMEOUT])) { in ovpn_nl_peer_precheck()
280 struct nlattr **attrs) in ovpn_nl_peer_modify() argument
290 if (ovpn_nl_attr_sockaddr_remote(attrs, &ss)) { in ovpn_nl_peer_modify()
295 local_ip = ovpn_nl_attr_local_ip(attrs); in ovpn_nl_peer_modify()
308 if (attrs[OVPN_A_PEER_VPN_IPV4]) { in ovpn_nl_peer_modify()
311 nla_get_in_addr(attrs[OVPN_A_PEER_VPN_IPV4]); in ovpn_nl_peer_modify()
314 if (attrs[OVPN_A_PEER_VPN_IPV6]) { in ovpn_nl_peer_modify()
317 nla_get_in6_addr(attrs[OVPN_A_PEER_VPN_IPV6]); in ovpn_nl_peer_modify()
321 if (attrs[OVPN_A_PEER_KEEPALIVE_INTERVAL] && in ovpn_nl_peer_modify()
322 attrs[OVPN_A_PEER_KEEPALIVE_TIMEOUT]) { in ovpn_nl_peer_modify()
323 interv = nla_get_u32(attrs[OVPN_A_PEER_KEEPALIVE_INTERVAL]); in ovpn_nl_peer_modify()
324 timeout = nla_get_u32(attrs[OVPN_A_PEER_KEEPALIVE_TIMEOUT]); in ovpn_nl_peer_modify()
343 struct nlattr *attrs[OVPN_A_PEER_MAX + 1]; in ovpn_nl_peer_new_doit() local
354 ret = nla_parse_nested(attrs, OVPN_A_PEER_MAX, info->attrs[OVPN_A_PEER], in ovpn_nl_peer_new_doit()
359 ret = ovpn_nl_peer_precheck(ovpn, info, attrs); in ovpn_nl_peer_new_doit()
363 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_PEER], attrs, in ovpn_nl_peer_new_doit()
368 if (ovpn->mode == OVPN_MODE_MP && !attrs[OVPN_A_PEER_VPN_IPV4] && in ovpn_nl_peer_new_doit()
369 !attrs[OVPN_A_PEER_VPN_IPV6]) { in ovpn_nl_peer_new_doit()
375 peer_id = nla_get_u32(attrs[OVPN_A_PEER_ID]); in ovpn_nl_peer_new_doit()
385 sockfd = nla_get_u32(attrs[OVPN_A_PEER_SOCKET]); in ovpn_nl_peer_new_doit()
400 !attrs[OVPN_A_PEER_REMOTE_IPV4] && in ovpn_nl_peer_new_doit()
401 !attrs[OVPN_A_PEER_REMOTE_IPV6]) { in ovpn_nl_peer_new_doit()
414 (attrs[OVPN_A_PEER_REMOTE_IPV4] || in ovpn_nl_peer_new_doit()
415 attrs[OVPN_A_PEER_REMOTE_IPV6])) { in ovpn_nl_peer_new_doit()
441 ret = ovpn_nl_peer_modify(peer, info, attrs); in ovpn_nl_peer_new_doit()
468 struct nlattr *attrs[OVPN_A_PEER_MAX + 1]; in ovpn_nl_peer_set_doit() local
478 ret = nla_parse_nested(attrs, OVPN_A_PEER_MAX, info->attrs[OVPN_A_PEER], in ovpn_nl_peer_set_doit()
483 ret = ovpn_nl_peer_precheck(ovpn, info, attrs); in ovpn_nl_peer_set_doit()
487 if (attrs[OVPN_A_PEER_SOCKET]) { in ovpn_nl_peer_set_doit()
493 peer_id = nla_get_u32(attrs[OVPN_A_PEER_ID]); in ovpn_nl_peer_set_doit()
505 (attrs[OVPN_A_PEER_REMOTE_IPV4] || in ovpn_nl_peer_set_doit()
506 attrs[OVPN_A_PEER_REMOTE_IPV6])) { in ovpn_nl_peer_set_doit()
516 ret = ovpn_nl_peer_modify(peer, info, attrs); in ovpn_nl_peer_set_doit()
652 struct nlattr *attrs[OVPN_A_PEER_MAX + 1]; in ovpn_nl_peer_get_doit() local
662 ret = nla_parse_nested(attrs, OVPN_A_PEER_MAX, info->attrs[OVPN_A_PEER], in ovpn_nl_peer_get_doit()
667 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_PEER], attrs, in ovpn_nl_peer_get_doit()
681 if (attrs[i]) { in ovpn_nl_peer_get_doit()
688 peer_id = nla_get_u32(attrs[OVPN_A_PEER_ID]); in ovpn_nl_peer_get_doit()
778 struct nlattr *attrs[OVPN_A_PEER_MAX + 1]; in ovpn_nl_peer_del_doit() local
787 ret = nla_parse_nested(attrs, OVPN_A_PEER_MAX, info->attrs[OVPN_A_PEER], in ovpn_nl_peer_del_doit()
792 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_PEER], attrs, in ovpn_nl_peer_del_doit()
796 peer_id = nla_get_u32(attrs[OVPN_A_PEER_ID]); in ovpn_nl_peer_del_doit()
815 struct nlattr *attrs[OVPN_A_KEYDIR_MAX + 1]; in ovpn_nl_get_key_dir() local
818 ret = nla_parse_nested(attrs, OVPN_A_KEYDIR_MAX, key, in ovpn_nl_get_key_dir()
826 if (NL_REQ_ATTR_CHECK(info->extack, key, attrs, in ovpn_nl_get_key_dir()
828 NL_REQ_ATTR_CHECK(info->extack, key, attrs, in ovpn_nl_get_key_dir()
832 dir->cipher_key = nla_data(attrs[OVPN_A_KEYDIR_CIPHER_KEY]); in ovpn_nl_get_key_dir()
833 dir->cipher_key_size = nla_len(attrs[OVPN_A_KEYDIR_CIPHER_KEY]); in ovpn_nl_get_key_dir()
839 dir->nonce_tail = nla_data(attrs[OVPN_A_KEYDIR_NONCE_TAIL]); in ovpn_nl_get_key_dir()
840 dir->nonce_tail_size = nla_len(attrs[OVPN_A_KEYDIR_NONCE_TAIL]); in ovpn_nl_get_key_dir()
877 struct nlattr *attrs[OVPN_A_KEYCONF_MAX + 1]; in ovpn_nl_key_new_doit() local
887 ret = nla_parse_nested(attrs, OVPN_A_KEYCONF_MAX, in ovpn_nl_key_new_doit()
888 info->attrs[OVPN_A_KEYCONF], in ovpn_nl_key_new_doit()
893 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_new_doit()
897 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_new_doit()
899 NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_new_doit()
901 NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_new_doit()
903 NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_new_doit()
905 NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_new_doit()
909 pkr.slot = nla_get_u32(attrs[OVPN_A_KEYCONF_SLOT]); in ovpn_nl_key_new_doit()
910 pkr.key.key_id = nla_get_u32(attrs[OVPN_A_KEYCONF_KEY_ID]); in ovpn_nl_key_new_doit()
911 pkr.key.cipher_alg = nla_get_u32(attrs[OVPN_A_KEYCONF_CIPHER_ALG]); in ovpn_nl_key_new_doit()
913 ret = ovpn_nl_get_key_dir(info, attrs[OVPN_A_KEYCONF_ENCRYPT_DIR], in ovpn_nl_key_new_doit()
918 ret = ovpn_nl_get_key_dir(info, attrs[OVPN_A_KEYCONF_DECRYPT_DIR], in ovpn_nl_key_new_doit()
923 peer_id = nla_get_u32(attrs[OVPN_A_KEYCONF_PEER_ID]); in ovpn_nl_key_new_doit()
982 struct nlattr *attrs[OVPN_A_KEYCONF_MAX + 1]; in ovpn_nl_key_get_doit() local
994 ret = nla_parse_nested(attrs, OVPN_A_KEYCONF_MAX, in ovpn_nl_key_get_doit()
995 info->attrs[OVPN_A_KEYCONF], in ovpn_nl_key_get_doit()
1000 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_get_doit()
1004 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_get_doit()
1019 if (attrs[i]) { in ovpn_nl_key_get_doit()
1026 peer_id = nla_get_u32(attrs[OVPN_A_KEYCONF_PEER_ID]); in ovpn_nl_key_get_doit()
1034 slot = nla_get_u32(attrs[OVPN_A_KEYCONF_SLOT]); in ovpn_nl_key_get_doit()
1065 struct nlattr *attrs[OVPN_A_PEER_MAX + 1]; in ovpn_nl_key_swap_doit() local
1073 ret = nla_parse_nested(attrs, OVPN_A_KEYCONF_MAX, in ovpn_nl_key_swap_doit()
1074 info->attrs[OVPN_A_KEYCONF], in ovpn_nl_key_swap_doit()
1079 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_swap_doit()
1083 peer_id = nla_get_u32(attrs[OVPN_A_KEYCONF_PEER_ID]); in ovpn_nl_key_swap_doit()
1100 struct nlattr *attrs[OVPN_A_KEYCONF_MAX + 1]; in ovpn_nl_key_del_doit() local
1110 ret = nla_parse_nested(attrs, OVPN_A_KEYCONF_MAX, in ovpn_nl_key_del_doit()
1111 info->attrs[OVPN_A_KEYCONF], in ovpn_nl_key_del_doit()
1116 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_del_doit()
1120 if (NL_REQ_ATTR_CHECK(info->extack, info->attrs[OVPN_A_KEYCONF], attrs, in ovpn_nl_key_del_doit()
1124 peer_id = nla_get_u32(attrs[OVPN_A_KEYCONF_PEER_ID]); in ovpn_nl_key_del_doit()
1125 slot = nla_get_u32(attrs[OVPN_A_KEYCONF_SLOT]); in ovpn_nl_key_del_doit()