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?

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
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to