diff options
| author | yangwei <[email protected]> | 2024-03-20 18:50:50 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2024-03-20 18:50:50 +0800 |
| commit | b39dc2f9785e0e6938f67bcf9f18a2782483746b (patch) | |
| tree | 51af54e2a7f5527d1eb152d9d8f627e96ee3f97f | |
| parent | 3b6bcd5348c1d29baa8ef4f587043985a380fbbb (diff) | |
🐞 fix(get meta by session): replace sapp api with stream dirFeature-get-rawpkt-by-stream-dir
| -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; |
