summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/PacketParser.c
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows/ovsext/PacketParser.c')
-rw-r--r--datapath-windows/ovsext/PacketParser.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/datapath-windows/ovsext/PacketParser.c b/datapath-windows/ovsext/PacketParser.c
index e01be17e7..bba2631b7 100644
--- a/datapath-windows/ovsext/PacketParser.c
+++ b/datapath-windows/ovsext/PacketParser.c
@@ -192,6 +192,21 @@ OvsParseTcp(const NET_BUFFER_LIST *packet,
}
VOID
+OvsParseSctp(const NET_BUFFER_LIST *packet,
+ L4Key *flow,
+ POVS_PACKET_HDR_INFO layers)
+{
+ SCTPHdr sctpStorage;
+ const SCTPHdr *sctp = OvsGetSctp(packet, layers->l4Offset, &sctpStorage);
+ if (sctp) {
+ flow->tpSrc = sctp->source;
+ flow->tpDst = sctp->dest;
+ layers->isSctp = 1;
+ layers->l7Offset = layers->l4Offset + sizeof *sctp;
+ }
+}
+
+VOID
OvsParseUdp(const NET_BUFFER_LIST *packet,
L4Key *flow,
POVS_PACKET_HDR_INFO layers)