Erik, On Jun 5, 2008, at 10:21 AM, Erik Nordmark wrote:
> Adi Masputra wrote: > >> One thing to keep in mind, as far as UDP goes, is that there is a >> difference >> between UDP Fragment Offload and MDT; the latter is generic, and >> is not specific >> to transmitting UDP/IP fragments. One of the possible things that >> we thought >> would be nice is to utilize MDT to transmit a group of small, pre- >> packetized >> UDP/IP datagrams (non-fragments) that may be originated from >> disk. IIRC at >> some point during Yosemite project there was a prototype of some >> sort involving >> a sendfile-like interface and a modified Darwin Streaming Server. > > Adi, > > What were the assumptions around that streaming prototype? > Was it that a bunch of packets for the same IP destination would be > sent down using MDT? Or for different IP destinations or ports? It was for the same destination address and port (I don't recall whether it was unicast, multicast or both, however; it's been a while :). > > If they are different IP destination, then we can not cache routing > information (IRE, NCE) and performance will suffer. If they are > different ports then we can't cache IPsec policy and performance > will suffer. Thus I think any utility will appear when the > destination is the same for the bunch of packets. Correct. > > If they are the same, then I wonder what rate we would be streaming > at. > In theory it might be interesting for a streaming server to be able > to very efficiently send 1Gbps of traffic to a single destination. > But even HDTV doesn't need that. It *might* be helpful if there was > NIC hardware that could do pacing for free. Basically the MDT chunk > would say "send this chunk at 10 Mbps". But I've never seen anybody > discuss building Ethernet NICs with "per chunk" pacing (good ol' ATM > did it but at a much coarser granularity.) I don't think we got as far as controlling the rate; if my memory serves me correctly, the concept was related to the experimental sendmsgs (note the 's') and a sendfile-like interfaces for SOCK_DGRAM. It was aimed at reducing the costs of per- datagram transmit due to the batching of the writes. Adi > > So I'm having a hard time seeing what problems MDT solves for UDP > outside of the fragmentation case. > > Erik _______________________________________________ networking-discuss mailing list [email protected]
