Lines Matching defs:TCP_Server_Info
711 struct TCP_Server_Info { struct
712 struct list_head tcp_ses_list;
713 struct list_head smb_ses_list;
714 struct list_head rlist; /* reconnect list */
715 spinlock_t srv_lock; /* protect anything here that is not protected */
716 __u64 conn_id; /* connection identifier (useful for debugging) */
717 int srv_count; /* reference counter */
718 int rfc1001_sessinit; /* whether to estasblish netbios session */
719 bool with_rfc1001; /* if netbios session is used */
721 char server_RFC1001_name[RFC1001_NAME_LEN_WITH_NULL];
722 struct smb_version_operations *ops;
723 struct smb_version_values *vals;
725 enum statusEnum tcpStatus; /* what we think the status is */
726 char *hostname; /* hostname portion of UNC string */
727 struct socket *ssocket;
728 struct sockaddr_storage dstaddr;
729 struct sockaddr_storage srcaddr; /* locally bind to this IP */
731 struct net *net;
733 wait_queue_head_t response_q;
734 wait_queue_head_t request_q; /* if more than maxmpx to srvr must block*/
735 spinlock_t mid_lock; /* protect mid queue and it's entries */
736 struct list_head pending_mid_q;
737 bool noblocksnd; /* use blocking sendmsg */
738 bool noautotune; /* do not autotune send buf sizes */
739 bool nosharesock;
740 bool tcp_nodelay;
741 bool terminate;
742 unsigned int credits; /* send no more requests at once */
743 unsigned int max_credits; /* can override large 32000 default at mnt */
744 unsigned int in_flight; /* number of requests on the wire to server */
745 unsigned int max_in_flight; /* max number of requests that were on wire */
746 spinlock_t req_lock; /* protect the two values above */
747 struct mutex _srv_mutex;
748 unsigned int nofs_flag;
749 struct task_struct *tsk;
750 char server_GUID[16];
751 __u16 sec_mode;
752 bool sign; /* is signing enabled on this connection? */
753 bool ignore_signature:1; /* skip validation of signatures in SMB2/3 rsp */
754 bool session_estab; /* mark when very first sess is established */
755 int echo_credits; /* echo reserved slots */
756 int oplock_credits; /* oplock break reserved slots */
757 bool echoes:1; /* enable echoes */
758 __u8 client_guid[SMB2_CLIENT_GUID_SIZE]; /* Client GUID */
759 u16 dialect; /* dialect index that server chose */
760 bool oplocks:1; /* enable oplocks */
761 unsigned int maxReq; /* Clients should submit no more */
764 unsigned int maxBuf; /* maxBuf specifies the maximum */
768 unsigned int max_rw; /* maxRw specifies the maximum */
771 unsigned int capabilities; /* selective disabling of caps by smb sess */
772 int timeAdj; /* Adjust for difference in server time zone in sec */
773 __u64 CurrentMid; /* multiplex id - rotating counter, protected by GlobalMid_Lock */
774 char cryptkey[CIFS_CRYPTO_KEY_SIZE]; /* used by ntlm, ntlmv2 etc */
776 char workstation_RFC1001_name[RFC1001_NAME_LEN_WITH_NULL];
777 __u32 sequence_number; /* for signing, protected by srv_mutex */
778 __u32 reconnect_instance; /* incremented on each reconnect */
779 __le32 session_key_id; /* retrieved from negotiate response and send in session setup request */
780 struct session_key session_key;
781 unsigned long lstrp; /* when we got last response from this server */
782 unsigned long neg_start; /* when negotiate started (jiffies) */
783 struct cifs_secmech secmech; /* crypto sec mech functs, descriptors */
786 char negflavor; /* NEGOTIATE response flavor */
788 bool sec_ntlmssp; /* supports NTLMSSP */
789 bool sec_kerberosu2u; /* supports U2U Kerberos */
790 bool sec_kerberos; /* supports plain Kerberos */
791 bool sec_mskerberos; /* supports legacy MS Kerberos */
792 bool sec_iakerb; /* supports pass-through auth for Kerberos (krb5 proxy) */
793 bool large_buf; /* is current buffer large? */
795 bool rdma;
797 struct smbd_connection *smbd_conn;
798 struct delayed_work echo; /* echo ping workqueue job */
799 char *smallbuf; /* pointer to current "small" buffer */
800 char *bigbuf; /* pointer to current "big" buffer */
802 unsigned int pdu_size;
803 unsigned int total_read; /* total amount of data read in this pass */
804 atomic_t in_send; /* requests trying to send */
805 atomic_t num_waiters; /* blocked waiting to get in sendrecv */
807 atomic_t num_cmds[NUMBER_OF_SMB2_COMMANDS]; /* total requests by cmd */
808 atomic_t smb2slowcmd[NUMBER_OF_SMB2_COMMANDS]; /* count resps > 1 sec */
809 __u64 time_per_cmd[NUMBER_OF_SMB2_COMMANDS]; /* total time per cmd */
810 __u32 slowest_cmd[NUMBER_OF_SMB2_COMMANDS];
811 __u32 fastest_cmd[NUMBER_OF_SMB2_COMMANDS];
813 unsigned int max_read;
814 unsigned int max_write;
815 unsigned int min_offload;
816 unsigned int retrans;
817 struct {
821 } compression;
822 __u16 signing_algorithm;
846 struct TCP_Server_Info *primary_server; argument
864 static inline bool is_smb1(struct TCP_Server_Info *server) in is_smb1() argument