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