[libfabric-users] How to retrieve the source address of an incoming datagram with prov/verbs?
Yilong Li
yilongl at cs.stanford.edu
Fri Aug 16 15:59:29 PDT 2019
On Fri, Aug 16, 2019 at 10:35 AM Ilango, Arun <arun.ilango at intel.com> wrote:
> The verbs provider doesn’t support FI_SOURCE for the FI_EP_DGRAM endpoint
> type today but it can be added.
>
It would be really nice to have the verbs provider support FI_SOURCE.
Otherwise, I have to embed the source address in the datagram on my own.
> Btw, you’re using the verbs interface of hfi1. Is there a reason to use
> verbs instead of psm2? What’s the use case here?
>
Actually, I am mostly using the psm2 provider on this Intel OPA cluster.
But I have other IB clusters to work with. On the other hand, if Intel OPA
has a kernel-bypass verbs library, I would prefer that over psm2 because
psm2 doesn't seem to provide a real unreliable datagram endpoint, which is
the only type of communication I care about. The unnecessary abstraction of
psm2 probably means dropping performance on the table for me.
Thanks,
Yilong
>
>
> Thanks,
>
> Arun.
>
>
>
> *From:* Libfabric-users [mailto:
> libfabric-users-bounces at lists.openfabrics.org] *On Behalf Of *Yilong Li
> *Sent:* Friday, August 16, 2019 12:08 AM
> *To:* libfabric-users at lists.openfabrics.org
> *Subject:* [libfabric-users] How to retrieve the source address of an
> incoming datagram with prov/verbs?
>
>
>
> Hi,
>
>
>
> I notice that the verbs provider doesn't advertise the FI_SOURCE
> capability. So how can I retrieve the source address of an incoming
> datagram? My application has a client-server architecture: the server
> cannot know the address of a client until the client tries to contact the
> server.
>
>
>
> I am pasting the output of `fi_info -t FI_EP_DGRAM -p verbs -v` on my
> machine below.
>
>
>
> Thanks,
>
> Yilong
>
>
>
> ---------------------------------------------------------------------
>
> fi_info:
> caps: [ FI_MSG, FI_RECV, FI_SEND, FI_LOCAL_COMM, FI_REMOTE_COMM ]
> mode: [ FI_MSG_PREFIX, FI_RX_CQ_DATA ]
> addr_format: FI_ADDR_IB_UD
> src_addrlen: 32
> dest_addrlen: 0
> src_addr: fi_addr_ib_ud://:::0/0/0/0
> dest_addr: (null)
> handle: (nil)
> fi_tx_attr:
> caps: [ FI_MSG, FI_RECV, FI_SEND, FI_LOCAL_COMM, FI_REMOTE_COMM ]
> mode: [ ]
> op_flags: [ ]
> msg_order: [ FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS,
> FI_ORDER_WAW, FI_ORDER_WAS, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_RMA_RAR,
> FI_ORDER_RMA_RAW, FI_ORDER_RMA_WAW, FI_ORDER_ATOMIC_RAR,
> FI_ORDER_ATOMIC_RAW, FI_ORDER_ATOMIC_WAW ]
> comp_order: [ FI_ORDER_STRICT ]
> inject_size: 0
> size: 384
> iov_limit: 4
> rma_iov_limit: 1
> fi_rx_attr:
> caps: [ FI_MSG, FI_RECV, FI_SEND, FI_LOCAL_COMM, FI_REMOTE_COMM ]
> mode: [ FI_MSG_PREFIX, FI_RX_CQ_DATA ]
> op_flags: [ ]
> msg_order: [ FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS,
> FI_ORDER_WAW, FI_ORDER_WAS, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_RMA_RAR,
> FI_ORDER_RMA_RAW, FI_ORDER_RMA_WAW, FI_ORDER_ATOMIC_RAR,
> FI_ORDER_ATOMIC_RAW, FI_ORDER_ATOMIC_WAW ]
> comp_order: [ FI_ORDER_STRICT, FI_ORDER_DATA ]
> total_buffered_recv: 0
> size: 384
> iov_limit: 4
> fi_ep_attr:
> type: FI_EP_DGRAM
> protocol: FI_PROTO_IB_UD
> protocol_version: 1
> max_msg_size: 4096
> msg_prefix_size: 40
> max_order_raw_size: 4096
> max_order_war_size: 0
> max_order_waw_size: 4096
> mem_tag_format: 0x0000000000000000
> tx_ctx_cnt: 1
> rx_ctx_cnt: 1
> auth_key_size: 0
> fi_domain_attr:
> domain: 0x0
> name: hfi1_0-dgram
> threading: FI_THREAD_SAFE
> control_progress: FI_PROGRESS_AUTO
> data_progress: FI_PROGRESS_AUTO
> resource_mgmt: FI_RM_ENABLED
> av_type: FI_AV_UNSPEC
> mr_mode: [ FI_MR_LOCAL, FI_MR_ALLOCATED ]
> mr_key_size: 4
> cq_data_size: 4
> cq_cnt: 131071
> ep_cnt: 32768
> tx_ctx_cnt: 1024
> rx_ctx_cnt: 1024
> max_ep_tx_ctx: 1024
> max_ep_rx_ctx: 1024
> max_ep_stx_ctx: 0
> max_ep_srx_ctx: 1024
> cntr_cnt: 0
> mr_iov_limit: 1
> caps: [ FI_LOCAL_COMM, FI_REMOTE_COMM ]
> mode: [ ]
> auth_key_size: 0
> max_err_data: 255
> mr_cnt: 0
> fi_fabric_attr:
> name: IB-0xfe80000000000000
> prov_name: verbs
> prov_version: 1.0
> api_version: 1.8
>
> fid_nic:
> fi_device_attr:
> name: hfi1_0
> device_id: 9456
> device_version: 17
> vendor_id: 4469
> driver: (null)
> firmware: 1.26.1
> fi_bus_attr:
> fi_bus_type: FI_BUS_UNKNOWN
> fi_link_attr:
> address: (null)
> mtu: 4096
> speed: 104857600
> state: FI_LINK_UP
> network_type: InfiniBand
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/libfabric-users/attachments/20190816/ec2eb571/attachment.html>
More information about the Libfabric-users
mailing list