Ask Your Question

Revision history [back]

MATE config for grouping HTTP2 when multiple streams per packet

I have the following MATE configuration:

Pdu http2_pdu Proto http2 Transport tcp/ip {
    Extract addr From ip.addr;
    Extract port From tcp.port;
    Extract streamid From http2.streamid;
    Extract path From http2.headers.path;    
};

Gop http2_req On http2_pdu Match (addr, addr, port, port, streamid) {
    Start (path);
    Extra (path, sbi, src_nf, dst_nf);
};

that works correctly when a packet contains a single stream but fails when packets contain multiple streams.

For instance given:

  • packet 1 -> HEADERS[1]
  • packet 2 -> DATA[1] SETTINGS[0]
  • packet 3 -> HEADERS[1] DATA[1]

packets 1 and 3 are correctly grouped together but packet 2 is left alone because it has 2 different streamid.

Is my analysis correct? Is there a way to avoid this and group all the 3 packets togheter?