MINOR: stream: Set a flag when the stream uses the HTX

The flag SF_HTX has been added to know when a stream uses the HTX or not. It is
set when an HTX stream is created. There are 2 conditions to set it. The first
one is when the HTTP frontend enables the HTX. The second one is when the attached
conn_stream uses an HTX multiplexer.
diff --git a/include/types/stream.h b/include/types/stream.h
index 5e854c5..93a39a3 100644
--- a/include/types/stream.h
+++ b/include/types/stream.h
@@ -58,7 +58,7 @@
 #define SF_REDISP	0x00000100	/* set if this stream was redispatched from one server to another */
 /* unused: 0x00000200 */
 #define SF_REDIRECTABLE	0x00000400	/* set if this stream is redirectable (GET or HEAD) */
-/* unused: 0x00000800 */
+#define SF_HTX          0x00000800      /* set if this stream is an htx stream */
 
 /* stream termination conditions, bits values 0x1000 to 0x7000 (0-9 shift 12) */
 #define SF_ERR_NONE     0x00000000	/* normal end of request */
diff --git a/src/stream.c b/src/stream.c
index 764c5f3..551f8e2 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -236,8 +236,15 @@
 	si_set_state(&s->si[0], SI_ST_EST);
 	s->si[0].hcto = sess->fe->timeout.clientfin;
 
-	if (cs && cs->conn->mux && cs->conn->mux->flags & MX_FL_CLEAN_ABRT)
-		s->si[0].flags |= SI_FL_CLEAN_ABRT;
+	if (cs && cs->conn->mux) {
+		if (cs->conn->mux->flags & MX_FL_CLEAN_ABRT)
+			s->si[0].flags |= SI_FL_CLEAN_ABRT;
+		if (cs->conn->mux->flags & MX_FL_HTX)
+			s->flags |= SF_HTX;
+	}
+	/* Set SF_HTX flag for HTX frontends. */
+	if (sess->fe->mode == PR_MODE_HTTP && sess->fe->options2 & PR_O2_USE_HTX)
+		s->flags |= SF_HTX;
 
 	/* attach the incoming connection to the stream interface now. */
 	if (cs)