Re: [PATCH net-next v12 11/22] ovpn: implement TCP transport
From: Antonio Quartulli
Date: Wed Dec 04 2024 - 17:52:19 EST
Paolo,
On 04/12/2024 12:15, Antonio Quartulli wrote:
[...]
+ mutex_lock(&tcp6_prot_mutex);
+ if (!ovpn_tcp6_prot.recvmsg)
+ ovpn_tcp_build_protos(&ovpn_tcp6_prot, &ovpn_tcp6_ops,
+ sock->sk->sk_prot,
+ sock->sk->sk_socket->ops);
+ mutex_unlock(&tcp6_prot_mutex);
This looks like an hack to avoid a build dependency on IPV6, I think the
explicit
I happily copied this approach from espintcp.c:espintcp_init_sk() :-D
#if IS_ENABLED(CONFIG_IPV6)
at init time should be preferable
To get this done at init time I need inet6_stream_ops to be accessible,
but it seems there is no EXPORT_SYMBOL() for this object.
However, I see that mptcp/protocol.c is happily accessing it.
Any clue how this is possible?
If I try to access it within ovpn I get the usual error:
ERROR: modpost: "inet6_stream_ops" [drivers/net/ovpn/ovpn.ko] undefined!
but mptcp compiles just fine.
Any hint?
Regards,
--
Antonio Quartulli
OpenVPN Inc.