tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: sendmsg(2) with IP_PKTINFO
In article <20170725055344.7D3621CC0B4%yaml.nerv.org@localhost>,
Ryo Shimizu <ryo%nerv.org@localhost> wrote:
>
>Hi,
>
>I implemented IP_PKTINFO for sendmsg(2). For recvmsg(2) IP_PKTINFO is already
>supported, but it is not supported for sending. This causes problems
>described in https://mail-index.netbsd.org/tech-net/2013/09/22/msg004252.html
>
>patch is here.
> http://www.netbsd.org/~ryo/ip_pktinfo.patch
> or https://github.com/ryo/netbsd-src/compare/master...ip_pktinfo
>
>summary of patch:
> - udp_output()
> - process IP_PKTINFO in cmsg
> - specified ip_pktinfo->ipi_addr, check the address is bindable, and use it.
> - specified ip_pktinfo->ipi_ifindex, pick up an address from the interface,
> and IP_ROUTETOIFINDEX flag and imo.imo_multicast_if_index are passed to
> ip_output() to output from the interface. Multicast already has similar
> function, therefore I used ip_moptions argument for specifying ifindex.
>
> - rip_output()
> - just about same as udp_output() except checking pcb.
>
> - ip_output()
> - if IP_ROUTETOIFINDEX is set, checking that whether packets can be output
> from the specified interface. loopback, p2p interface, or direct address
> are ok. Otherwise, checking that the destination address has a gateway
> address on the interface.
>
>
>any comment? or ok to commit?
Why don't you share the code in udp_output and rip_output?
Otherwise LGTM.
christos
Home |
Main Index |
Thread Index |
Old Index