[openib-general] [PATCHv6 RFC] IPoIB CM Experimental support
Michael S. Tsirkin
mst at mellanox.co.il
Wed Feb 7 10:57:45 PST 2007
> Quoting Roland Dreier <rdreier at cisco.com>:
> Subject: Re: [PATCHv6 RFC] IPoIB CM Experimental support
>
> > Well, randomness is a resource after all, and since we don't have the additional
> > security provided by PSNs in IPoIB UD, it seemed we do not need it for
> > IPoIB CM either. So maybe the right thing is just to remove the FIXME comment.
>
> random32() doesn't use up any entropy. Random PSNs help avoid problems
> with stale connections, so I think we should do it.
Well, stale connections don't pose any real problems for IPoIB CM - worst case a
connnection is torn down and recreated. But I don't have a strong opinion
anyway - that's why I put the FIXME there. So I'm OK with random32, too.
> I noticed some funny code in ipoib_cm_skb_reap():
>
> __be32 mtu = cpu_to_be32(priv->mcast_mtu);
>
> // htonl(__be32)??
> icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu));
> // no htonl() here -- is this correct?
> icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, dev);
>
> what is the right thing?
Both are right I think.
These two functions seem to accept parameters in different format:
include/net/icmp.h:extern void icmp_send(struct sk_buff *skb_in, int type, int
code, __be32 info);
include/linux/icmpv6.h:extern void icmpv6_send(struct sk_buff *skb,
include/linux/icmpv6.h- int type, int code,
include/linux/icmpv6.h- __u32 info,
include/linux/icmpv6.h- struct net_device *dev);
BTW, I just looked at ip_gre.c and it has the same code.
--
MST
More information about the general
mailing list