Re: sendmsg and IP_PKTINFO

From: Julian Anastasov (ja@ssi.bg)
Date: Tue Feb 18 2003 - 14:57:01 EST


        Hello,

Neil Brown wrote:

> Note that the in_pktinfo is described as "some information about the
> incoming packet". In particular ipi_ifindex is "the unique index of
> the interface the packets was received on".
>
> i.e. it is more about the incoming than the outgoing packet.

        Yes, because when set as socket option you can receive
pktinfo with recvmsg. But IP_PKTINFO can be used also with sendmsg.
Just forget about interfaces, i.e. use something like this in cmsg:

.ipi = {
        .ipi_ifindex = 0,
        .ipi_spec_dst = local_ip,
},

        Such code is needed when your UDP socket is not
connected (preferred) nor bound (with bind). In such case
it is essential to provide sendmsg with the local IP address
used for proper routing. Playing with interfaces should be
avoided if possible. If is a common error UDP users not to
provide the routing with local IP address.

Regards

--
Julian Anastasov <ja@ssi.bg>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:23 EST