`
> 
> The RELEASE.md says it is for 17.04. But in vppctl, 'show ver' shows I am 
> using v17.10-rc0~19-g58eb866
> 
> What is latest version?

We have done quite a lot of performance work on the NAT plugin over the last 
few weeks.
By latest, I meant that you would be best off following the git repo directly.

Best regards,
Ole


> 
> Thanks,
> Yuliang
> 
> On Tue, Oct 17, 2017 at 3:01 AM, Ole Troan <otr...@employees.org> wrote:
> Yuliang,
> 
> > Get it. It use spinlock (in vppinfra/bihash_template.c):
> >
> > while (__sync_lock_test_and_set (h->writer_lock, 1))
> >
> > On Mon, Oct 16, 2017 at 11:39 AM, Yuliang Li <yuliang...@yale.edu> wrote:
> > Hi all,
> >
> > I am curious in the SNAT implementation. I see that SNAT's hash tables are 
> > shared by all worker threads. Does SNAT use lock to avoid multiple threads 
> > updating the hash table concurrently? If not, how does it avoid race 
> > condition?
> 
> Are you on latest?
> The "global" NAT state space is essentially split across all workers. So 
> there is no locking.
> 
> typedef struct {
>   /* Main lookup tables */
>   clib_bihash_8_8_t out2in;
>   clib_bihash_8_8_t in2out;
> 
>   /* Find-a-user => src address lookup */
>   clib_bihash_8_8_t user_hash;
> 
>   /* User pool */
>   snat_user_t * users;
> 
>   /* Session pool */
>   snat_session_t * sessions;
> 
>   /* Pool of doubly-linked list elements */
>   dlist_elt_t * list_pool;
> 
>   u32 snat_thread_index;
> } snat_main_per_thread_data_t;
> 
> 
> Best regards,
> Ole
> 
> 
> 
> 
> --
> Yuliang Li
> PhD student
> Department of Computer Science
> Yale University

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to