#include <linux/module.h>
#include <linux/list.h>
#include <linux/workqueue.h>
#include <linux/skbuff.h>
#include <linux/timer.h>
#include <linux/notifier.h>
#include <linux/inetdevice.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/tls.h>
#include <net/tls.h>
#include "chtls.h"
#include "chtls_cm.h"
static void __set_tcb_field_direct(struct chtls_sock *csk,
struct cpl_set_tcb_field *req, u16 word,
u64 mask, u64 val, u8 cookie, int no_reply)
{ … }
static void __set_tcb_field(struct sock *sk, struct sk_buff *skb, u16 word,
u64 mask, u64 val, u8 cookie, int no_reply)
{ … }
static int chtls_set_tcb_field(struct sock *sk, u16 word, u64 mask, u64 val)
{ … }
void chtls_set_tcb_field_rpl_skb(struct sock *sk, u16 word,
u64 mask, u64 val, u8 cookie,
int through_l2t)
{ … }
int chtls_set_tcb_tflag(struct sock *sk, unsigned int bit_pos, int val)
{ … }
static int chtls_set_tcb_keyid(struct sock *sk, int keyid)
{ … }
static int chtls_set_tcb_seqno(struct sock *sk)
{ … }
static int chtls_set_tcb_quiesce(struct sock *sk, int val)
{ … }
void chtls_set_quiesce_ctrl(struct sock *sk, int val)
{ … }
int chtls_init_kmap(struct chtls_dev *cdev, struct cxgb4_lld_info *lldi)
{ … }
static int get_new_keyid(struct chtls_sock *csk, u32 optname)
{ … }
void free_tls_keyid(struct sock *sk)
{ … }
unsigned int keyid_to_addr(int start_addr, int keyid)
{ … }
static void chtls_rxkey_ivauth(struct _key_ctx *kctx)
{ … }
static int chtls_key_info(struct chtls_sock *csk,
struct _key_ctx *kctx,
u32 keylen, u32 optname,
int cipher_type)
{ … }
static void chtls_set_scmd(struct chtls_sock *csk)
{ … }
int chtls_setkey(struct chtls_sock *csk, u32 keylen,
u32 optname, int cipher_type)
{ … }