Ah, sorry, now I got it:  you try to NAT between 172.16.1.4 to 172.16.1.5, 
meaning 2 IPs in the same subnet ? Why would you do that ?
If you just want to change the DST IP, you could use simple OF rules 
(set_field:ip_dst=x.x.x.x) - this is without conntrack.

If, on the other hand you want the real NAT (with conntrack) then choose the 
NAT address in a different subnet.

DC

> On Jul 7, 2016, at 1:11 PM, Cristina Palomo Regidor 
> <cristina.palomo.regi...@ericsson.com> wrote:
> 
> Hello,
> Thanks for your answer.
> I have set the same rules also for arp but the result is the same, the arp is 
> not being translated:
>  
> # ovs-ofctl add-flow br0 
> "in_port=4,arp,action=ct(commit,zone=1,nat(dst=172.16.1.5)),5"
> sccf16:~ #
> #   ovs-ofctl add-flow br0 
> "in_port=5,ct_state=-trk,arp,action=ct(table=0,zone=1,nat)"
>  
> #     ovs-ofctl add-flow br0 "in_port=5,ct_state=+trk,ct_zone=1,arp,action=4"
>  
>  
> # ovs-ofctl dump-flows br0
> NXST_FLOW reply (xid=0x4):
> cookie=0x0, duration=7194.171s, table=0, n_packets=12, n_bytes=956, 
> idle_age=6454, ip,in_port=4 
> actions=ct(commit,zone=1,nat(dst=172.16.1.5)),output:5
> cookie=0x0, duration=11.523s, table=0, n_packets=0, n_bytes=0, idle_age=11, 
> arp,in_port=4 actions=ct(commit,zone=1,nat(dst=172.16.1.5)),output:5
> cookie=0x0, duration=6784.876s, table=0, n_packets=8, n_bytes=1056, 
> idle_age=6454, ct_state=-trk,ip,in_port=5 actions=ct(table=0,zone=1,nat)
> cookie=0x0, duration=11.516s, table=0, n_packets=0, n_bytes=0, idle_age=11, 
> ct_state=-trk,arp,in_port=5 actions=ct(table=0,zone=1,nat)
> cookie=0x0, duration=6784.871s, table=0, n_packets=8, n_bytes=1056, 
> idle_age=6454, ct_state=+trk,ct_zone=1,ip,in_port=5 actions=output:4
> cookie=0x0, duration=9.001s, table=0, n_packets=0, n_bytes=0, idle_age=9, 
> ct_state=+trk,ct_zone=1,arp,in_port=5 actions=output:4
> cookie=0x0, duration=11482.919s, table=0, n_packets=851, n_bytes=108083, 
> idle_age=40, priority=0 actions=NORMAL
>  
> # tcpdump -vv -i vnet1
> tcpdump: WARNING: vnet1: no IPv4 address assigned
> tcpdump: listening on vnet1, link-type EN10MB (Ethernet), capture size 65535 
> bytes
> 14:05:51.165961 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 
> 172.16.1.4 tell 172.16.1.1, length 28
> 14:05:52.167191 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 
> 172.16.1.4 tell 172.16.1.1, length 28
> 14:05:53.169157 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 
> 172.16.1.4 tell 172.16.1.1, length 28
> 14:05:54.171330 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 
> 172.16.1.4 tell 172.16.1.1, length 28
>  
> From: D3c3 Balus [mailto:d3c3ba...@gmail.com] 
> Sent: jueves, 07 de julio de 2016 13:04
> To: Cristina Palomo Regidor <cristina.palomo.regi...@ericsson.com>
> Cc: discuss@openvswitch.org
> Subject: Re: [ovs-discuss] help on nat example
>  
> Hello,
>  
> Your first flow “in_port=4, ip, ….” matches only IP traffic, but ARP is not 
> matched.  You need another rule like “in_port, arp, actions….” to translate 
> also ARP.
>  
> Cheers,
>  
> DC
>  
> On Jul 7, 2016, at 11:36 AM, Cristina Palomo Regidor 
> <cristina.palomo.regi...@ericsson.com 
> <mailto:cristina.palomo.regi...@ericsson.com>> wrote:
>  
> Hello,
> I would appreciate any help on this nat example. I want to do dst nat 
> translation so the dst address is translated to 172.16.1.5 where I have a web 
> server.
>  
> I have implemented these flows: 
>  
> ovs-ofctl add-flow br0 
> "in_port=4,ip,action=ct(commit,zone=1,nat(dst=172.16.1.5)),5"
> ovs-ofctl add-flow br0 
> "in_port=5,ct_state=-trk,ip,action=ct(table=0,zone=1,nat)"
> ovs-ofctl add-flow br0 "in_port=5,ct_state=+trk,ct_zone=1,ip,action=4"
>  
> Are they correct?
>  
> If I do from my client (port 4) curl 172.16.1.4:80 with the purpose of nat 
> translating the dst address to the web server address I only see arp requests 
> of this type in a tcpdump:
> 12:17:52.196395 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 
> 172.16.1.4 tell 172.16.1.1, length 28
> 12:17:53.199288 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 
> 172.16.1.4 tell 172.16.1.1, length 28
>  
> Could you help me on how to make this work?
>  
> Thanks and BR/
>  
>  
> _______________________________________________
> discuss mailing list
> discuss@openvswitch.org <mailto:discuss@openvswitch.org>
> http://openvswitch.org/mailman/listinfo/discuss 
> <http://openvswitch.org/mailman/listinfo/discuss>
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to