Re: [dpdk-dev] [EXT] RE: [PATCH v4 12/15] examples/ipsec-secgw: add app mode worker
From: Akhil Goyal <hidden>
Date: 2020-02-26 05:56:03
Hi Anoob,
quoted
quoted
quoted
quoted
quoted
+ /* 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 thefirst packet arrives.quoted
@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). Regards, Akhil