RE: [EXPERIMENTAL v1 0/4] RDMA loopback device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: oulijun <oulijun@xxxxxxxxxx>
> Sent: Wednesday, February 27, 2019 9:28 PM
> To: Parav Pandit <parav@xxxxxxxxxxxx>; bvanassche@xxxxxxx; linux-
> rdma@xxxxxxxxxxxxxxx
> Subject: Re: [EXPERIMENTAL v1 0/4] RDMA loopback device
> 
> 在 2019/2/28 5:32, Parav Pandit 写道:
> >
> >> -----Original Message-----
> >> From: oulijun <oulijun@xxxxxxxxxx>
> >> Sent: Wednesday, February 27, 2019 2:09 AM
> >> To: Parav Pandit <parav@xxxxxxxxxxxx>; bvanassche@xxxxxxx; linux-
> >> rdma@xxxxxxxxxxxxxxx
> >> Subject: Re: [EXPERIMENTAL v1 0/4] RDMA loopback device
> >>
> >> Hi,
> >>   What is the difference between loopback  driver and loopback packet
> >> in the IB protocol?
> >>
> > Loopback packet in IB protocol is as you described.
> > However users almost always needs a physical hardware HCA (IB/RoCE,
> iwarp).
> > Iwarp patches are in progress.
> >
> > There hasn't been reliable software stack yet for users who want to just
> run their applications in laptop/vm on single system.
> > This is often done for unit tests, sanity, stack regression tests.
> >
> > Loopback driver mimics the netdev's lo style loopback rdma device in very
> simple manner.
> > Its ABI less, where there almost any user space driver at all and still
> achieves 7Gbps to 80Gbps performance.
> >
> > Again rxe and cma can be enhanced, to add lo netdev interface via new
> netlink command added.
> > But I have serious doubts that we can make rxe really work perfectly
> without ABI change, and without major rework.
> > I am not sure if that is really worth it. If siw reworks the rxe driver, than
> there is some light of hope.
> >
> Thank your detail reply。 I have seen the goal for loopback driver。
> But I still want to use this series to ask about the loopback packet problem.
> 
>  The protocol specifies:
>   o10-6.2-1.1: If the CI supports the Loopback Indicator, the CI shall report it
> through the Query HCA Verb. The CI shall accept the Loopback Indicator as
> an input modifier to the Create Address Handle, Modify Address Handle,
> Modify QP and Modify EEC verbs
> 
>   I have checked the create address handle verbs' input modifier.
>   struct rdma_ah_attr {
> 	struct ib_global_route	grh;
> 	u8			sl;
> 	u8			static_rate;
> 	u8			port_num;
> 	u8			ah_flags;
> 	enum rdma_ah_attr_type type;
> 	union {
> 		struct ib_ah_attr ib;
> 		struct roce_ah_attr roce;
> 		struct opa_ah_attr opa;
> 	};
> };
> 
> and the verb for create ah in protocol specification.
> input modifiers:
>    ...
>    ...
>    • Loopback Indicator (if the HCA supports Loopback Indicator on Address
> Handles). DLID and Loopback Indicator are mutually exclusive.
>    ...
> 
>    I don't see why defined the loopback indicator and expose for app?
>    I understand that the loopback indicator should be gived by ofed, the user
> can configue it. Any other understand?
>    if the user not use lo nedev for loopback and use other nedev for rdma
> device?
> 
Loopack still works where HCA loops this packets for RoCE and IB link layers without this user configuration.
A user explicit flag would be required when user wants to force loopback when SLID != DLID.
I do know the use case or supported HCAs which does that.

> thanks
> 
> >> for the IB protocol description:
> >> 10.2.2.3 LOOPBACK
> >> Packet loopback is supported through self addressed packets as
> >> described in
> >> 17.2.2 and C17-18:. Self-addressed packet is a packet whose DLID and
> >> SLID address the same port of the same CA. Additionally, an HCA can
> >> optionally support a Loopback Indicator. When Loopback Indicator is
> >> supported, both Address Handles and QP/EE Address Vectors can use
> >> Loopback Indicator instead of Destination LID. When reaping
> >> completions for Datagrams based QPs, the Loopback Indicator is also
> >> reported if the origin of the message was Loopback.
> >>
> >> I always have a question for the above. Why not expsure the loopback
> >> indicator for user to support loopback packet?
> >>
> > It is not useful to expose this and modify all user applications for hw and
> sw devices.
> > Core code already does this detection and does the loopback on hw and
> sw interfaces.
> > Hence it is not desired to expose this optional part of the spec.
> 
> 





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux