diff options
| -rw-r--r-- | src/adapter/adapter.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index 302b694..07d40c2 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -10,6 +10,7 @@ #include "uthash/utarray.h" #include <MESA/stream.h> +#include <stream_inc/stream_control.h> inline void adapter_session_poll(struct session *sess) @@ -468,8 +469,17 @@ const char *session_get0_l2_l3_hdr(struct session *sess, int session_direction, static const void *session_get_rawpkt(struct session *sess, int session_direction) { if(sess == NULL || sess->cur_pkt == NULL || sess->cur_pkt->a_stream == NULL) return NULL; - int route_direction=(session_direction==SESSION_DIRECTION_IN)?(DIR_ROUTE_UP):(DIR_ROUTE_DOWN); - return get_rawpkt_from_streaminfo(sess->cur_pkt->a_stream, route_direction); + //int route_direction=(session_direction==SESSION_DIRECTION_IN)?(DIR_ROUTE_UP):(DIR_ROUTE_DOWN); + //return get_rawpkt_from_streaminfo(sess->cur_pkt->a_stream, route_direction); + if(session_direction==sess->session_direction) + { + return get_rawpkt_by_stream_dir(sess->cur_pkt->a_stream, DIR_C2S); + } + else + { + return get_rawpkt_by_stream_dir(sess->cur_pkt->a_stream, DIR_S2C); + + } } uint16_t *session_get0_segment_id_list(struct session *sess, int session_direction, size_t *sid_num) @@ -493,7 +503,8 @@ const char *session_get0_route_ctx(struct session *sess, int session_direction, if(sapp_rawpkt==NULL)return NULL; void *route_ctx = NULL; int len=sizeof(route_ctx); - enum MESA_stream_opt opt=((session_direction==SESSION_DIRECTION_IN)?(MSO_STREAM_INBOND_ROUTE_CTX):(MSO_STREAM_OUTBOND_ROUTE_CTX)); + //enum MESA_stream_opt opt=((session_direction==SESSION_DIRECTION_IN)?(MSO_STREAM_INBOND_ROUTE_CTX):(MSO_STREAM_OUTBOND_ROUTE_CTX)); + enum MESA_stream_opt opt=(session_direction==sess->session_direction)?(MSO_STREAM_C2S_ROUTE_CTX):(MSO_STREAM_S2C_ROUTE_CTX); int ret = MESA_get_stream_opt(sess->cur_pkt->a_stream, opt, &route_ctx, &len); if (ret < 0)return NULL; *route_ctx_len=len; |
