Hi Akhil, <snip> > Subject: Re: [dpdk-dev] [PATCH v2 1/2] examples/ipsec-secgw: fix 1st pkt > dropped for inline crypto > > Hi Bernard, > > On 3/7/2019 8:27 PM, Bernard Iremonger wrote: > > Inline crypto installs a flow rule in the NIC. This flow rule must be > > installed before the first inbound packet is received. > > > > The create_session() function installs the flow rule, > > create_session() has been refactored into create_inline_session() and > > create_lookaside_session(). The create_inline_session() function uses > > the socket_ctx data and is now called at initialisation in > > sa_add_rules(). > why do we need a separate function for session creation for inline and > lookaside cases? > Why can't we initialize the sessions on sa_init in both the cases?
For the create_inline_session(struct socket_ctx *skt_ctx, struct ipsec_sa *sa) function, all of the required data is available in the in the skt_ctx variable. The skt_ctx variable is already setup when sa_init() is called. For the create_lookaside_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa) function, the required data is available in the ipsec_ctx variable. The ipsec_ctx variable is not setup when sa_init() is called. It is setup in the main_loop() function when the variable qconf is setup. The main_loop() function is called after the sa_init() function is called. I hope this answers your question <snip> Regards, Bernard.