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]

Reply via email to