> > > > > >> + /* Get core ID */ > > > > > >> + lcore_id = rte_lcore_id(); > > > > > >> + > > > > > >> + /* Get socket ID */ > > > > > >> + socket_id = rte_lcore_to_socket_id(lcore_id); > > > > > >> + > > > > > >> + /* Save routing table */ > > > > > >> + lconf.rt.rt4_ctx = socket_ctx[socket_id].rt_ip4; > > > > > >> + lconf.rt.rt6_ctx = socket_ctx[socket_id].rt_ip6; > > > > > >> + lconf.inbound.sp4_ctx = socket_ctx[socket_id].sp_ip4_in; > > > > > >> + lconf.inbound.sp6_ctx = socket_ctx[socket_id].sp_ip6_in; > > > > > >> + lconf.inbound.sa_ctx = socket_ctx[socket_id].sa_in; > > > > > >> + lconf.inbound.session_pool = > > > > > >> +socket_ctx[socket_id].session_pool; > > > > > > > > > > > > Session_priv_pool should also be added for both inbound and > > > > > > outbound > > > > > > > > > > > > > > > > [Lukasz] I will add it in V5. > > > > > > > > [Anoob] Actually, why do need both session_pool and private_pool? I > > > > think it's a remnant from the time we had session being created when the > > > first packet arrives. > > > > > > > > @Konstantin, thoughts? > > > > > > I think we do need it for lksd sessions. > > > See create_lookaside_session() in ipsec.c > > > > [Anoob] You are right. It seems for lookaside, we still create session only > > when > > first packet arrives. The fix was done only for inline. > > > > Said that, do you think we should fix the same for lookaside as well? Often, > > session creation is treated as a control path entity, and ipsec-secgw > > doesn't > > support changing sessions on the fly as well. But in ipsec-secgw, we create > > sessions in the data path. Also, once we do this, both inline & lookaside > > will have > > similar kind of treatment as well. > > > > Do you think there is any value in retaining the current behavior? If not I > > can > > take this up following the merge. > > > > Yes we need that for lookaside cases. > > And yes session creation was added in control path for inline cases only. We > can move that > Part for lookaside cases as well. > > Earlier the patch was submitted for both but had issues in lookaside cases, > so Intel just fixed the > Inline cases as that was necessary for the inline cases(first packet was > getting dropped). >
Yep, as Akhil pointed out it was some problems with lksd-proto cases as I remember. I wouldn't object if we'll change the code to create all sessions at startup. Though, I think we probably would still need a pool for private sessions. Konstantin