Add http2 test for small http max frame size
diff --git a/tools/http2_interop/s6.5.go b/tools/http2_interop/s6.5.go
new file mode 100644
index 0000000..8145b6e
--- /dev/null
+++ b/tools/http2_interop/s6.5.go
@@ -0,0 +1,33 @@
+package http2interop
+
+import (
+ "time"
+)
+
+// Section 6.5 says the minimum SETTINGS_MAX_FRAME_SIZE is 16,384
+func testSmallMaxFrameSize(ctx *HTTP2InteropCtx) error {
+ conn, err := connect(ctx)
+ if err != nil {
+ return err
+ }
+ defer conn.Close()
+ conn.Log = ctx.T.Log
+ conn.SetDeadline(time.Now().Add(defaultTimeout))
+
+ sf := &SettingsFrame{
+ Params: []SettingsParameter{{
+ Identifier: SettingsMaxFrameSize,
+ Value: 1<<14 - 1, // 1 less than the smallest maximum
+ }},
+ }
+
+ if err := http2Connect(conn, sf); err != nil {
+ return err
+ }
+
+ if _, err := expectGoAwaySoon(conn); err != nil {
+ return err
+ }
+
+ return nil
+}