
#include <string.h>#include "vipl_priv.h"Go to the source code of this file.
Functions | |
| static void | vip_send_conn_request (VIP_CONN *vip_conn_ptr, VIP_GM *vip_gm_ptr) |
| void | vip_handle_conn_list (VIP_PACKET_CONN_LIST *ptr, VIP_GM *vip_gm_ptr) |
| void | vip_handle_conn_req (VIP_PACKET_CONN_REQ *ptr, gm_recv_event_t *gm_event, VIP_GM *vip_gm_ptr) |
| void | vip_handle_conn_nomatch (VIP_PACKET_CONN_NOMATCH *ptr, VIP_GM *vip_gm_ptr) |
| void | vip_handle_conn_accept (VIP_PACKET_CONN_ACCEPT *ptr, gm_recv_event_t *gm_event, VIP_GM *vip_gm_ptr) |
| void | vip_handle_conn_reject (VIP_PACKET_CONN_REJECT *ptr) |
| void | vip_handle_conn_ack (VIP_PACKET_CONN_ACK *ptr) |
Definition in file vipl_priv_conn_recv.c.
|
||||||||||||
|
||||||||||||
|
This function handles incoming Connection List reply back from the connection manager. If at least one endpoint is valid in this list, a connection request is sent to the first matching one.
Definition at line 106 of file vipl_priv_conn_recv.c. References VIP_PACKET_CONN_LIST::clt_conn_ptr, VIP_PACKET_CONN_LIST::clt_seq_num, VIP_PACKET_CONN_LIST::net_srv_magic, VI_GM_MAX_PORTS, vip_addrbits2addr(), VIP_ASSERT, VIP_CONN_TYPE_CLIENT, VIP_CONN_TYPE_PEER, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_EVENT_SIGNAL, VIP_HTON_UINT32, VIP_INVALID_CONN_HANDLE, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_NET_UINT32, VIP_NO_MATCH, VIP_NTOH_UINT16, VIP_NTOH_UINT32, VIP_NTOH_UINT64, and vip_send_conn_request(). Referenced by vip_receive_event(). |
|
||||||||||||||||
|
This function handles incoming Connection Request messages from clients. It searches in the Connection waiting list and returns a No match packet if no matching connection is found on the server. If a matching connection is found, it may return a Reject packet if parameters are not compatible, or finally wake up the blocked VipConnectWait and remove the matching connection from the waiting list.
Definition at line 188 of file vipl_priv_conn_recv.c. References VIP_PACKET_CONN_REJECT::clt_conn_ptr, VIP_PACKET_CONN_NOMATCH::clt_conn_ptr, VIP_PACKET_CONN_ACCEPT::clt_conn_ptr, VIP_PACKET_CONN_REQ::clt_conn_ptr, VIP_PACKET_CONN_REQ::clt_disc_len, VIP_PACKET_CONN_REQ::clt_net_addr, VIP_PACKET_CONN_REJECT::clt_seq_num, VIP_PACKET_CONN_NOMATCH::clt_seq_num, VIP_PACKET_CONN_ACCEPT::clt_seq_num, VIP_PACKET_CONN_REQ::clt_seq_num, VIP_SEND_REQ::dest_gm_id, VIP_SEND_REQ::dest_port_id, VIP_VI_ATTRIBUTES::EnableRdmaRead, VIP_VI_ATTRIBUTES::EnableRdmaWrite, VIP_CONN::event, VIP_GM::gm_id, VIP_GM::gm_port_id, VIP_CONN::handle, VIP_GM::head_waiting_conn_ptr, VIP_CONN::locale_disc_len, VIP_CONN::locale_net_addr, VIP_NIC::lock, VIP_GM::magic, VIP_VI_ATTRIBUTES::MaxTransferSize, VIP_PACKET_CONN_REQ::mtu, VIP_PACKET_CONN_ACCEPT::net_local_nic_index, VIP_PACKET_CONN_ACCEPT::net_local_vi_index, VIP_CONN::net_remote_conn_ptr, VIP_CONN::net_remote_seq_num, VIP_CONN::next_waiting_conn_ptr, VIP_PACKET_CONN_REJECT::peer_status, VIP_CONN::peer_timeout_alarm, VIP_SEND_REQ::ptr, VIP_PACKET_CONN_REQ::qos, VIP_VI_ATTRIBUTES::QoS, VIP_VI::rdma_write, VIP_PACKET_CONN_ACCEPT::rdma_write, VIP_PACKET_CONN_REQ::rdma_write, VIP_PACKET_CONN_REQ::reliability, VIP_VI_ATTRIBUTES::ReliabilityLevel, VIP_CONN::remote_disc_len, VIP_CONN::remote_gm_id, VIP_CONN::remote_net_addr, VIP_CONN::remote_port_id, VIP_CONN::remote_vi_attribs, VIP_HANDLE::seq_num, VIP_PACKET_CONN_ACCEPT::srv_conn_ptr, VIP_PACKET_CONN_REQ::srv_disc_len, VIP_PACKET_CONN_REQ::srv_net_addr, VIP_PACKET_CONN_REQ::srv_net_magic, VIP_PACKET_CONN_ACCEPT::srv_seq_num, VIP_CONN::status, VIP_GM::tail_waiting_conn_ptr, VIP_PACKET_CONN_REJECT::type, VIP_PACKET_CONN_NOMATCH::type, VIP_SEND_REQ::type, VIP_PACKET_CONN_ACCEPT::type, VIP_CONN::type, VIP_PACKET_CONN_REQ::type, VI_GM_MAC_ADDRESS_LEN, vip_addr2addrbits(), vip_addrbits2addr(), vip_allocate_packet(), VIP_ASSERT, VIP_CONN_NOMATCH_PKT, VIP_CONN_PEER_ACCEPT_PKT, VIP_CONN_PEER_REJECT_PKT, VIP_CONN_PEER_REQ_PKT, VIP_CONN_REQ_PKT, VIP_CONN_TYPE_PEER, VIP_CONN_TYPE_SERVER, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_EVENT_SIGNAL, VIP_FALSE, VIP_NIC::vip_gm_ptr, VIP_HTON_UCHAR, VIP_HTON_UINT16, VIP_HTON_UINT64, VIP_INVALID_MTU, VIP_INVALID_RELIABILITY_LEVEL, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_SEND_REQ::vip_nic_ptr, VIP_HANDLE::vip_nic_ptr, VIP_NOT_DONE, VIP_NTOH_UCHAR, VIP_NTOH_UINT16, VIP_NTOH_UINT32, VIP_NTOH_UINT64, VIP_PACKET::vip_pkt_conn_accept, VIP_PACKET::vip_pkt_conn_nomatch, VIP_PACKET::vip_pkt_conn_reject, vip_remove_conn_waiting_list(), vip_send_data(), VIP_SEND_REQ_RELIABLE, VIP_SUCCESS, VIP_TRUE, VIP_SEND_REQ::vip_vi_ptr, VIP_CONN::vip_vi_ptr, and VIP_CONN::waiting_list. Referenced by vip_receive_event(). |
|
||||||||||||
|
This function handles incoming Connection No Match reply packets back from servers. It tries to find another endpoints on the remote node in the list returned by the connection manager, and sends a new Connection Request message if it finds one.
Definition at line 419 of file vipl_priv_conn_recv.c. References VIP_PACKET_CONN_NOMATCH::clt_conn_ptr, VIP_PACKET_CONN_NOMATCH::clt_seq_num, VI_GM_MAX_PORTS, vip_addrbits2addr(), VIP_ASSERT, VIP_CONN_TYPE_CLIENT, VIP_CONN_TYPE_PEER, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_EVENT_SIGNAL, VIP_HTON_UINT32, VIP_INVALID_CONN_HANDLE, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_NET_UINT32, VIP_NO_MATCH, VIP_NTOH_UINT16, VIP_NTOH_UINT32, VIP_NTOH_UINT64, and vip_send_conn_request(). Referenced by vip_receive_event(). |
|
||||||||||||||||
|
This function handles incoming Connection Accept packets back from servers. If the connection is still valid on the client side, the VIs are connected. Otherwise, a Connection Nack is sent back to the server to drop the connection.
Definition at line 495 of file vipl_priv_conn_recv.c. References VIP_PACKET_CONN_ACCEPT::clt_conn_ptr, VIP_PACKET_CONN_ACCEPT::clt_seq_num, VIP_SEND_REQ::dest_gm_id, VIP_SEND_REQ::dest_port_id, VIP_PACKET_CONN_ACK::net_local_nic_index, VIP_PACKET_CONN_ACCEPT::net_local_nic_index, VIP_PACKET_CONN_ACK::net_local_vi_index, VIP_PACKET_CONN_ACCEPT::net_local_vi_index, VIP_SEND_REQ::ptr, VIP_PACKET_CONN_ACCEPT::rdma_write, VIP_PACKET_CONN_ACK::srv_conn_ptr, VIP_PACKET_CONN_ACCEPT::srv_conn_ptr, VIP_PACKET_CONN_ACK::srv_seq_num, VIP_PACKET_CONN_ACCEPT::srv_seq_num, VIP_PACKET_CONN_ACK::status, VIP_SEND_REQ::type, VIP_PACKET_CONN_ACK::type, vip_addrbits2addr(), vip_allocate_packet(), VIP_ASSERT, VIP_CONN_ACK_PKT, VIP_CONN_TYPE_CLIENT, VIP_CONN_TYPE_PEER, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_EVENT_SIGNAL, VIP_HTON_UCHAR, VIP_HTON_UINT16, VIP_INVALID_CONN_HANDLE, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_SEND_REQ::vip_nic_ptr, VIP_NTOH_UCHAR, VIP_NTOH_UINT16, VIP_NTOH_UINT64, vip_remove_conn_waiting_list(), vip_send_data(), VIP_SEND_REQ_RELIABLE, VIP_STATE_CONNECTED, VIP_SUCCESS, VIP_TIMEOUT, VIP_TRUE, and VIP_SEND_REQ::vip_vi_ptr. Referenced by vip_receive_event(). |
|
|
This function handles incoming Connection Reject packets back from servers. It will terminate the pending connection with the corresponding status code.
Definition at line 607 of file vipl_priv_conn_recv.c. References VIP_PACKET_CONN_REJECT::clt_conn_ptr, VIP_PACKET_CONN_REJECT::clt_seq_num, VIP_PACKET_CONN_REJECT::peer_status, VIP_PACKET_CONN_REJECT::type, vip_addrbits2addr(), VIP_ASSERT, VIP_CONN_PEER_REJECT_PKT, VIP_CONN_REJECT_PKT, VIP_CONN_TYPE_CLIENT, VIP_CONN_TYPE_PEER, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_EVENT_SIGNAL, VIP_INVALID_CONN_HANDLE, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_NTOH_UCHAR, VIP_NTOH_UINT16, VIP_NTOH_UINT64, VIP_REJECT, vip_remove_conn_waiting_list(), and VIP_TRUE. Referenced by vip_receive_event(). |
|
|
This function handles incoming Connection accept Acknowledgement packets back from the client side. It connects the VI and terminate the connection procedure.
Definition at line 666 of file vipl_priv_conn_recv.c. References VIP_PACKET_CONN_ACK::net_local_nic_index, VIP_PACKET_CONN_ACK::net_local_vi_index, VIP_PACKET_CONN_ACK::srv_conn_ptr, VIP_PACKET_CONN_ACK::srv_seq_num, VIP_PACKET_CONN_ACK::status, vip_addrbits2addr(), VIP_ASSERT, VIP_CONN_TYPE_PEER, VIP_CONN_TYPE_SERVER, VIP_DEBUG, VIP_DEBUG_LABEL, VIP_EVENT_SIGNAL, VIP_INVALID_CONN_HANDLE, VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_NTOH_UCHAR, VIP_NTOH_UINT16, VIP_NTOH_UINT64, VIP_STATE_CONNECTED, and VIP_SUCCESS. Referenced by vip_receive_event(). |
1.4.4.