[openib-general] [RFC] [PATCH 2/7] ib_multicast 2.6.20: add ib_multicast module to track join requests from the same port
Sean Hefty
mshefty at ichips.intel.com
Wed Oct 11 14:24:39 PDT 2006
Eitan Zahavi wrote:
> So if it is then there is no problem sniffing it and refcounting.
The MADs cannot simply be sniffed and counted. MADs which affect the same
multicast group should not always be sent. Join operations must be serialized
against leave operations, especially when the join/leave parameters differ.
A join operation to an existing group may not result in a MAD being sent, so no
response from the SA is available. The act of joining or leaving a multicast
group is distinct from sending a MAD. The appearance of a MAD on the wire is
not always necessary.
Consider that pushing this functionality down into the MAD layer also results in
pushing the related ib_sa functionality into the ib_mad module as well.
> And there are other kernel level ULPs that use that IB_SA code and
> bypass ib_multicast
There are no in tree users, which is my primary concern at the moment. The
ib_sa API still exists for out of tree users, but they will as broken as they
are today.
> Changing top API for ULPs and Clients is simpler to implement but
> provide wrong tradeoff for functionality that can be implemented under
> the hood - not burdening the rest of the world with a constant flux of
> API changes.
I'm more concerned about getting the right API than trying to fit something into
an existing API just because its there. My proposal is to have the following
layers:
ib_mad - sends and receives MADs on QP0/1
ib_sa - sends and receives MADs to the SA
ib_multicast - manages multicast joins
The alternative proposal I keep hearing is to combine these 3 layers under the
existing ib_mad API. However, the behavior of that API will change.
- Sean
More information about the general
mailing list