| /linux/drivers/net/ovpn/ |
| H A D | peer.c | 25 static void unlock_ovpn(struct ovpn_priv *ovpn, in unlock_ovpn() argument 27 __releases(&ovpn->lock) in unlock_ovpn() 31 spin_unlock_bh(&ovpn->lock); in unlock_ovpn() 50 netdev_dbg(peer->ovpn->dev, in ovpn_peer_keepalive_set() 65 mod_delayed_work(ovpn_wq, &peer->ovpn->keepalive_work, 0); in ovpn_peer_keepalive_set() 93 struct ovpn_peer *ovpn_peer_new(struct ovpn_priv *ovpn, u32 id) in ovpn_peer_new() argument 108 peer->ovpn = ovpn; in ovpn_peer_new() 123 netdev_err(ovpn->dev, in ovpn_peer_new() 130 netdev_hold(ovpn->dev, &peer->dev_tracker, GFP_KERNEL); in ovpn_peer_new() 164 netdev_name(peer->ovpn->dev), in ovpn_peer_reset_sockaddr() [all …]
|
| H A D | main.c | 35 struct ovpn_priv *ovpn = netdev_priv(net); in ovpn_priv_free() local 37 kfree(ovpn->peers); in ovpn_priv_free() 40 static int ovpn_mp_alloc(struct ovpn_priv *ovpn) in ovpn_mp_alloc() argument 44 if (ovpn->mode != OVPN_MODE_MP) in ovpn_mp_alloc() 50 ovpn->peers = kzalloc_obj(*ovpn->peers); in ovpn_mp_alloc() 51 if (!ovpn->peers) in ovpn_mp_alloc() 54 for (i = 0; i < ARRAY_SIZE(ovpn->peers->by_id); i++) { in ovpn_mp_alloc() 55 INIT_HLIST_HEAD(&ovpn->peers->by_id[i]); in ovpn_mp_alloc() 56 INIT_HLIST_NULLS_HEAD(&ovpn->peers->by_vpn_addr4[i], i); in ovpn_mp_alloc() 57 INIT_HLIST_NULLS_HEAD(&ovpn->peers->by_vpn_addr6[i], i); in ovpn_mp_alloc() [all …]
|
| H A D | io.c | 83 skb->dev = peer->ovpn->dev; in ovpn_netdev_write() 99 ret = gro_cells_receive(&peer->ovpn->gro_cells, skb); in ovpn_netdev_write() 103 dev_dstats_rx_add(peer->ovpn->dev, pkt_len); in ovpn_netdev_write() 139 netdev_name(peer->ovpn->dev), peer->id, in ovpn_decrypt_post() 166 netdev_name(peer->ovpn->dev), in ovpn_decrypt_post() 173 netdev_name(peer->ovpn->dev), in ovpn_decrypt_post() 181 netdev_name(peer->ovpn->dev), peer->id); in ovpn_decrypt_post() 187 if (unlikely(!ovpn_peer_check_by_src(peer->ovpn, skb, peer))) { in ovpn_decrypt_post() 190 netdev_name(peer->ovpn->dev), in ovpn_decrypt_post() 194 netdev_name(peer->ovpn->dev), in ovpn_decrypt_post() [all …]
|
| H A D | netlink.c | 39 struct ovpn_priv *ovpn; in ovpn_get_dev_from_attrs() local 65 ovpn = netdev_priv(dev); in ovpn_get_dev_from_attrs() 69 return ovpn; in ovpn_get_dev_from_attrs() 76 struct ovpn_priv *ovpn = ovpn_get_dev_from_attrs(genl_info_net(info), in ovpn_nl_pre_doit() local 79 if (IS_ERR(ovpn)) in ovpn_nl_pre_doit() 80 return PTR_ERR(ovpn); in ovpn_nl_pre_doit() 82 info->user_ptr[0] = ovpn; in ovpn_nl_pre_doit() 91 struct ovpn_priv *ovpn = info->user_ptr[0]; in ovpn_nl_post_doit() local 93 if (ovpn) in ovpn_nl_post_doit() 94 netdev_put(ovpn->dev, tracker); in ovpn_nl_post_doit() [all …]
|
| H A D | peer.h | 65 struct ovpn_priv *ovpn; member 141 struct ovpn_peer *ovpn_peer_new(struct ovpn_priv *ovpn, u32 id); 142 int ovpn_peer_add(struct ovpn_priv *ovpn, struct ovpn_peer *peer); 144 void ovpn_peers_free(struct ovpn_priv *ovpn, struct sock *sock, 147 struct ovpn_peer *ovpn_peer_get_by_transp_addr(struct ovpn_priv *ovpn, 149 struct ovpn_peer *ovpn_peer_get_by_id(struct ovpn_priv *ovpn, u32 peer_id); 150 struct ovpn_peer *ovpn_peer_get_by_dst(struct ovpn_priv *ovpn, 154 bool ovpn_peer_check_by_src(struct ovpn_priv *ovpn, struct sk_buff *skb,
|
| H A D | socket.c | 95 netdev_put(sock->ovpn->dev, &sock->dev_tracker); in ovpn_socket_release() 120 return ovpn_udp_socket_attach(ovpn_sock, sock, peer->ovpn); in ovpn_socket_attach() 175 if (ovpn_sock->ovpn != peer->ovpn) { in ovpn_socket_new() 223 ovpn_sock->ovpn = peer->ovpn; in ovpn_socket_new() 224 netdev_hold(peer->ovpn->dev, &ovpn_sock->dev_tracker, in ovpn_socket_new() 243 netdev_put(peer->ovpn->dev, &ovpn_sock->dev_tracker); in ovpn_socket_new()
|
| H A D | tcp.c | 81 ovpn_skb = netdev_alloc_skb(peer->ovpn->dev, pkt_len); in ovpn_tcp_skb_packet() 90 netdev_name(peer->ovpn->dev), peer->id); in ovpn_tcp_skb_packet() 114 netdev_name(peer->ovpn->dev), peer->id); in ovpn_tcp_rcv() 128 netdev_name(peer->ovpn->dev)); in ovpn_tcp_rcv() 156 ovpn_dev_dstats_rx_dropped(peer->ovpn->dev); in ovpn_tcp_rcv() 280 netdev_name(peer->ovpn->dev), in ovpn_tcp_send_sock() 303 dev_dstats_tx_add(peer->ovpn->dev, skb->len); in ovpn_tcp_send_sock() 335 ovpn_dev_dstats_tx_dropped(peer->ovpn->dev); in ovpn_tcp_send_sock_skb() 357 ovpn_dev_dstats_tx_dropped(peer->ovpn->dev); in ovpn_tcp_send_skb() 439 netdev_name(peer->ovpn->dev), ret); in ovpn_tcp_sendmsg() [all …]
|
| H A D | udp.h | 19 struct ovpn_priv *ovpn);
|
| H A D | socket.h | 33 struct ovpn_priv *ovpn; member
|
| H A D | crypto_aead.c | 196 netdev_err(peer->ovpn->dev, in ovpn_aead_encrypt() 304 netdev_err(peer->ovpn->dev, in ovpn_aead_decrypt()
|
| /linux/tools/testing/selftests/net/ovpn/ |
| H A D | ovpn-cli.c | 171 static struct nl_ctx *nl_ctx_alloc_flags(struct ovpn_ctx *ovpn, int cmd, in nl_ctx_alloc_flags() argument 224 if (ovpn->ifindex > 0) in nl_ctx_alloc_flags() 225 NLA_PUT_U32(ctx->nl_msg, OVPN_A_IFINDEX, ovpn->ifindex); in nl_ctx_alloc_flags() 238 static struct nl_ctx *nl_ctx_alloc(struct ovpn_ctx *ovpn, int cmd) in nl_ctx_alloc() argument 240 return nl_ctx_alloc_flags(ovpn, cmd, 0); in nl_ctx_alloc() 615 static int ovpn_connect(struct ovpn_ctx *ovpn) in ovpn_connect() argument 620 s = socket(ovpn->remote.in4.sin_family, SOCK_STREAM, 0); in ovpn_connect() 626 switch (ovpn->remote.in4.sin_family) { in ovpn_connect() 637 ret = connect(s, (struct sockaddr *)&ovpn->remote, socklen); in ovpn_connect() 645 ovpn->socket = s; in ovpn_connect() [all …]
|
| H A D | test-close-socket.sh | 16 modprobe -r ovpn || true 78 modprobe -q ovpn || true
|
| H A D | test-mark.sh | 20 modprobe -r ovpn || true 159 modprobe -q ovpn || true
|
| H A D | Makefile | 49 TEST_GEN_FILES := ovpn-cli
|
| H A D | test.sh | 16 modprobe -r ovpn || true 302 modprobe -q ovpn || true
|
| /linux/tools/net/ynl/ |
| H A D | Makefile.deps | 35 CFLAGS_ovpn:=$(call get_hdr_inc,_LINUX_OVPN_H,ovpn.h)
|
| /linux/tools/testing/selftests/ |
| H A D | Makefile | 88 TARGETS += net/ovpn
|
| /linux/ |
| H A D | MAINTAINERS | 20518 T: git https://github.com/OpenVPN/ovpn-net-next.git 20519 F: Documentation/netlink/specs/ovpn.yaml 20520 F: drivers/net/ovpn/ 20521 F: include/uapi/linux/ovpn.h 20522 F: tools/testing/selftests/net/ovpn/
|