Subject: [quicwg/base-drafts] 4fa1fc: Define requirements for handling packets (#724)

From: Martin Thomson <[email-masked]>
Date: Thu, 12 Oct 2017 17:51:06 -0700

Branch: refs/heads/master
  Home:   https://github.com/quicwg/base-drafts
  Commit: 4fa1fcf62e0ed22150edaa6fabade891b492640f
      https://github.com/quicwg/base-drafts/commit/4fa1fcf62e0ed22150edaa6fabade891b492640f
  Author: Martin Thomson <[email-masked]>
  Date:   2017-10-12 (Thu, 12 Oct 2017)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Define requirements for handling packets (#724)

* Define requirements for handling packets

We never really said how to handle incoming packets.  This adds a section on
that.  This was originally motivated by #570, where the rules for what to
generate a Version Negotiation packet for were a little unclear.

Now though, this is a far more comprehensive description of what to do with
a packet that is received.

For #570, I've chosen to limit packet size.  If the packet is too small, then
this requires the server to drop the packet.  In response to the potential for
a future version of QUIC to define a smaller initial packet (@mikkelfj raised
this point), I've included advice on what might be done to avoid having packets
discarded.

I realize that we don't have a patch that sets the packet size to 1200.  I'm
going to write that one now.  This depends on that.

* Review comments

* Capitalize Client Initial

* Expand more on the need for bufferring

* Allow a stateless reset in addition to discard

* Allow consumption of VN in response to 0-RTT

* Add forward ref to packetization section

* Jana's comments

* Downgrade discard requirement to MAY prior to handshake

Though I don't know why I need to care about the reason.

* Remove text