[dpdk-dev] [EXT] RE: [PATCH v4 12/15] examples/ipsec-secgw: add app mode worker

Ananyev, Konstantin konstantin.ananyev at intel.com
Wed Feb 26 13:36:16 CET 2020


> > > > > >> +	/* 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





More information about the dev mailing list