On 2/21/17, 1:12 PM, "[email protected] on behalf of Flavio
Leitner" <[email protected] on behalf of [email protected]> wrote:
On Thu, Feb 16, 2017 at 12:47:35AM -0800, Darrell Ball wrote:
> This patch introduces NAT support for the userspace datapath.
> The conntrack module changes are in this patch.
>
> The per packet scope of lookups for NAT and un_NAT is at
> the bucket level rather than global. One hash table is
> introduced to support create/delete handling. The create/delete
> events may be further optimized, if the need becomes clear.
>
> Some NAT options with limited utility (persistent, random) are
> not supported yet, but will be supported in a later patch.
>
> Signed-off-by: Darrell Ball <[email protected]>
It works for me :-)
I was worried with the two memcpy() in sequence in nat_packet()
but turns out that gcc is smart enough to optimize them.
Thanks for pointing this out.
I removed the unnecessary memcpy and associated local variable in all
these instances.
Fortuitously, while looking at the associated code, I noticed the V6 DNAT
address replacement had a “.dst.” instead of a “.src.”.
I fixed it.
I added a new V6 DNAT test to cover this case.
Another thing is use of OVS_NO_THREAD_SAFETY_ANALYSIS, but it
doesn't look like fixing it will get any better.
There are some unrelated changes like cleanups or code movement
in process_one(), but that's fine I guess.
Acked-by: Flavio Leitner <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=O2Clkd8rWWs5ciGhLS-rNrdZ1khoZwU9j7nFrQlraOk&s=wUwh32XoPIHc4lG8BpDYmKyI_wC6E68q0s2chKWnAQo&e=
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev