@@ -248,7 +248,11 @@ struct smc_connection {
};
struct smc_sock { /* smc sock container */
- struct sock sk;
+ union {
+ struct tcp6_sock tp6sk;
+ struct tcp_sock tpsk;
+ struct sock sk;
+ };
struct socket *clcsock; /* internal tcp socket */
void (*clcsk_state_change)(struct sock *sk);
/* original stat_change fct. */
@@ -388,6 +392,11 @@ static inline void smc_sock_set_flag(struct sock *sk, enum sock_flags flag)
set_bit(flag, &sk->sk_flags);
}
+static __always_inline bool smc_sock_is_inet_sock(const struct sock *sk)
+{
+ return inet_test_bit(IS_ICSK, sk);
+}
+
#define smc_sock_flag(sk, flag) sock_flag(sk, flag)
#endif /* __SMC_H */