@@ -33,7 +33,7 @@ use crate::{
33
33
network:: Address ,
34
34
proto_demux:: { ProtoCtx , ResponseRequired } ,
35
35
queue:: { Msg , WorkQ } ,
36
- session:: { CloneData , SessionMode } ,
36
+ session:: { CaseDetails , CloneData , NocCatIds , SessionMode } ,
37
37
} ,
38
38
utils:: writebuf:: WriteBuf ,
39
39
} ;
@@ -155,13 +155,16 @@ impl Case {
155
155
}
156
156
157
157
// Only now do we add this message to the TT Hash
158
+ let mut peer_catids: NocCatIds = Default :: default ( ) ;
159
+ initiator_noc. get_cat_ids ( & mut peer_catids) ;
158
160
case_session. tt_hash . update ( ctx. rx . as_borrow_slice ( ) ) ?;
159
161
let clone_data = Case :: get_session_clone_data (
160
162
fabric. ipk . op_key ( ) ,
161
163
fabric. get_node_id ( ) ,
162
164
initiator_noc. get_node_id ( ) ?,
163
165
ctx. exch_ctx . sess . get_peer_addr ( ) ,
164
166
& case_session,
167
+ & peer_catids,
165
168
) ?;
166
169
// Queue a transport mgr request to add a new session
167
170
WorkQ :: get ( ) ?. sync_send ( Msg :: NewSession ( clone_data) ) ?;
@@ -281,6 +284,7 @@ impl Case {
281
284
peer_nodeid : u64 ,
282
285
peer_addr : Address ,
283
286
case_session : & CaseSession ,
287
+ peer_catids : & NocCatIds ,
284
288
) -> Result < CloneData , Error > {
285
289
let mut session_keys = [ 0_u8 ; 3 * crypto:: SYMM_KEY_LEN_BYTES ] ;
286
290
Case :: get_session_keys (
@@ -296,7 +300,10 @@ impl Case {
296
300
case_session. peer_sessid ,
297
301
case_session. local_sessid ,
298
302
peer_addr,
299
- SessionMode :: Case ( case_session. local_fabric_idx as u8 ) ,
303
+ SessionMode :: Case ( CaseDetails :: new (
304
+ case_session. local_fabric_idx as u8 ,
305
+ peer_catids,
306
+ ) ) ,
300
307
) ;
301
308
302
309
clone_data. dec_key . copy_from_slice ( & session_keys[ 0 ..16 ] ) ;
0 commit comments