File tree Expand file tree Collapse file tree 3 files changed +15
-6
lines changed
Expand file tree Collapse file tree 3 files changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -38,6 +38,15 @@ extern "C" {
3838#define DP_TCP_PKT_FLAG_SYNACK (FLAGS ) \
3939 (((FLAGS) & (RTE_TCP_SYN_FLAG|RTE_TCP_ACK_FLAG)) == (RTE_TCP_SYN_FLAG|RTE_TCP_ACK_FLAG))
4040
41+ #define DP_TCP_PKT_FLAG_EXACT (FLAGS , REQUIRED ) \
42+ (((FLAGS) & 0xFF) == (REQUIRED))
43+ #define DP_TCP_PKT_FLAG_ONLY_SYN (FLAGS ) \
44+ DP_TCP_PKT_FLAG_EXACT((FLAGS), RTE_TCP_SYN_FLAG)
45+ #define DP_TCP_PKT_FLAG_ONLY_ACK (FLAGS ) \
46+ DP_TCP_PKT_FLAG_EXACT((FLAGS), RTE_TCP_ACK_FLAG)
47+ #define DP_TCP_PKT_FLAG_ONLY_SYNACK (FLAGS ) \
48+ DP_TCP_PKT_FLAG_EXACT((FLAGS), (RTE_TCP_SYN_FLAG | RTE_TCP_ACK_FLAG))
49+
4150
4251int dp_get_dev_info (uint16_t port_id , struct rte_eth_dev_info * dev_info , char ifname [IF_NAMESIZE ]);
4352
Original file line number Diff line number Diff line change @@ -59,15 +59,15 @@ static __rte_always_inline void dp_cntrack_tcp_state(struct flow_value *flow_val
5959 switch (flow_val -> l4_state .tcp_state ) {
6060 case DP_FLOW_TCP_STATE_NONE :
6161 case DP_FLOW_TCP_STATE_RST_FIN :
62- if (DP_TCP_PKT_FLAG_SYN (tcp_flags ) && df -> flow_dir == DP_FLOW_DIR_ORG )
62+ if (DP_TCP_PKT_FLAG_ONLY_SYN (tcp_flags ) && df -> flow_dir == DP_FLOW_DIR_ORG )
6363 flow_val -> l4_state .tcp_state = DP_FLOW_TCP_STATE_NEW_SYN ;
6464 break ;
6565 case DP_FLOW_TCP_STATE_NEW_SYN :
66- if (DP_TCP_PKT_FLAG_SYNACK (tcp_flags ) && df -> flow_dir == DP_FLOW_DIR_REPLY )
66+ if (DP_TCP_PKT_FLAG_ONLY_SYNACK (tcp_flags ) && df -> flow_dir == DP_FLOW_DIR_REPLY )
6767 flow_val -> l4_state .tcp_state = DP_FLOW_TCP_STATE_NEW_SYNACK ;
6868 break ;
6969 case DP_FLOW_TCP_STATE_NEW_SYNACK :
70- if (DP_TCP_PKT_FLAG_ACK (tcp_flags ) && df -> flow_dir == DP_FLOW_DIR_ORG )
70+ if (DP_TCP_PKT_FLAG_ONLY_ACK (tcp_flags ) && df -> flow_dir == DP_FLOW_DIR_ORG )
7171 flow_val -> l4_state .tcp_state = DP_FLOW_TCP_STATE_ESTABLISHED ;
7272 break ;
7373 default :
Original file line number Diff line number Diff line change @@ -34,15 +34,15 @@ static __rte_always_inline void virtsvc_tcp_state_change(struct dp_virtsvc_conn
3434 } else {
3535 switch (conn -> state ) {
3636 case DP_VIRTSVC_CONN_TRANSIENT :
37- if (DP_TCP_PKT_FLAG_SYN (tcp_flags ))
37+ if (DP_TCP_PKT_FLAG_ONLY_SYN (tcp_flags ))
3838 conn -> state = DP_VIRTSVC_CONN_TRANSIENT_SYN ;
3939 break ;
4040 case DP_VIRTSVC_CONN_TRANSIENT_SYN :
41- if (DP_TCP_PKT_FLAG_SYNACK (tcp_flags ))
41+ if (DP_TCP_PKT_FLAG_ONLY_SYNACK (tcp_flags ))
4242 conn -> state = DP_VIRTSVC_CONN_TRANSIENT_SYNACK ;
4343 break ;
4444 case DP_VIRTSVC_CONN_TRANSIENT_SYNACK :
45- if (DP_TCP_PKT_FLAG_ACK (tcp_flags ))
45+ if (DP_TCP_PKT_FLAG_ONLY_ACK (tcp_flags ))
4646 conn -> state = DP_VIRTSVC_CONN_ESTABLISHED ;
4747 break ;
4848 case DP_VIRTSVC_CONN_ESTABLISHED :
You can’t perform that action at this time.
0 commit comments