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?
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.
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.)
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]