Lines Matching defs:TCP_Server_Info
662 struct TCP_Server_Info { struct
663 struct list_head tcp_ses_list;
664 struct list_head smb_ses_list;
665 spinlock_t srv_lock; /* protect anything here that is not protected */
666 __u64 conn_id; /* connection identifier (useful for debugging) */
667 int srv_count; /* reference counter */
669 char server_RFC1001_name[RFC1001_NAME_LEN_WITH_NULL];
670 struct smb_version_operations *ops;
671 struct smb_version_values *vals;
673 enum statusEnum tcpStatus; /* what we think the status is */
674 char *hostname; /* hostname portion of UNC string */
675 struct socket *ssocket;
676 struct sockaddr_storage dstaddr;
677 struct sockaddr_storage srcaddr; /* locally bind to this IP */
679 struct net *net;
681 wait_queue_head_t response_q;
682 wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/
683 spinlock_t mid_lock; /* protect mid queue and it's entries */
684 struct list_head pending_mid_q;
685 bool noblocksnd; /* use blocking sendmsg */
686 bool noautotune; /* do not autotune send buf sizes */
687 bool nosharesock;
688 bool tcp_nodelay;
689 bool terminate;
690 unsigned int credits; /* send no more requests at once */
691 unsigned int max_credits; /* can override large 32000 default at mnt */
692 unsigned int in_flight; /* number of requests on the wire to server */
693 unsigned int max_in_flight; /* max number of requests that were on wire */
694 spinlock_t req_lock; /* protect the two values above */
695 struct mutex _srv_mutex;
696 unsigned int nofs_flag;
697 struct task_struct *tsk;
698 char server_GUID[16];
699 __u16 sec_mode;
700 bool sign; /* is signing enabled on this connection? */
701 bool ignore_signature:1; /* skip validation of signatures in SMB2/3 rsp */
702 bool session_estab; /* mark when very first sess is established */
703 int echo_credits; /* echo reserved slots */
704 int oplock_credits; /* oplock break reserved slots */
705 bool echoes:1; /* enable echoes */
706 __u8 client_guid[SMB2_CLIENT_GUID_SIZE]; /* Client GUID */
707 u16 dialect; /* dialect index that server chose */
708 bool oplocks:1; /* enable oplocks */
709 unsigned int maxReq; /* Clients should submit no more */
712 unsigned int maxBuf; /* maxBuf specifies the maximum */
716 unsigned int max_rw; /* maxRw specifies the maximum */
719 unsigned int capabilities; /* selective disabling of caps by smb sess */
720 int timeAdj; /* Adjust for difference in server time zone in sec */
721 __u64 CurrentMid; /* multiplex id - rotating counter, protected by GlobalMid_Lock */
722 char cryptkey[CIFS_CRYPTO_KEY_SIZE]; /* used by ntlm, ntlmv2 etc */
724 char workstation_RFC1001_name[RFC1001_NAME_LEN_WITH_NULL];
725 __u32 sequence_number; /* for signing, protected by srv_mutex */
726 __u32 reconnect_instance; /* incremented on each reconnect */
727 struct session_key session_key;
728 unsigned long lstrp; /* when we got last response from this server */
729 struct cifs_secmech secmech; /* crypto sec mech functs, descriptors */
732 char negflavor; /* NEGOTIATE response flavor */
734 bool sec_ntlmssp; /* supports NTLMSSP */
735 bool sec_kerberosu2u; /* supports U2U Kerberos */
736 bool sec_kerberos; /* supports plain Kerberos */
737 bool sec_mskerberos; /* supports legacy MS Kerberos */
738 bool large_buf; /* is current buffer large? */
740 bool rdma;
742 struct smbd_connection *smbd_conn;
743 struct delayed_work echo; /* echo ping workqueue job */
744 char *smallbuf; /* pointer to current "small" buffer */
745 char *bigbuf; /* pointer to current "big" buffer */
747 unsigned int pdu_size;
748 unsigned int total_read; /* total amount of data read in this pass */
749 atomic_t in_send; /* requests trying to send */
750 atomic_t num_waiters; /* blocked waiting to get in sendrecv */
752 atomic_t num_cmds[NUMBER_OF_SMB2_COMMANDS]; /* total requests by cmd */
753 atomic_t smb2slowcmd[NUMBER_OF_SMB2_COMMANDS]; /* count resps > 1 sec */
754 __u64 time_per_cmd[NUMBER_OF_SMB2_COMMANDS]; /* total time per cmd */
755 __u32 slowest_cmd[NUMBER_OF_SMB2_COMMANDS];
756 __u32 fastest_cmd[NUMBER_OF_SMB2_COMMANDS];
758 unsigned int max_read;
759 unsigned int max_write;
760 unsigned int min_offload;
761 unsigned int retrans;
762 __le16 compress_algorithm;
763 __u16 signing_algorithm;
787 struct TCP_Server_Info *primary_server; argument
788 __u16 channel_sequence_num; /* incremented on primary channel on each chan reconnect */
812 static inline bool is_smb1(struct TCP_Server_Info *server) in is_smb1() argument