I'm not sure if this helps eliminate anything but I just tried this in
mininet  and the same thing occurs there if dl_src/nw_src ==
dl_dst/nw_dst  .

Thanks,

Aaron


#packet that goes in
14:02:47.309736 06:3b:31:b8:d5:a2 (oui Unknown) > ca:05:25:be:fd:70
(oui Unknown), ethertype IPv4 (0x0800), length 74: 10.0.0.10.39458 >
10.0.0.11.5004: Flags [S], seq 3794257069, win 5840, options [mss
1460,sackOK,TS val 47077922 ecr 0,nop,wscale 9], length 0


#flow_mod
  cookie=0, duration_sec=50s, duration_nsec=950000000s, table_id=1,
priority=65535, n_packets=1, n_bytes=74,
idle_timeout=100,hard_timeout=0,tcp,in_port=2,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=06:3b:31:b8:d5:a2,dl_dst=ca:05:25:be:fd:70,nw_src=10.0.0.10,nw_dst=10.0.0.11,nw_tos=0x00,tp_src=39458,tp_dst=5004,actions=mod_dl_src:06:3b:31:b8:d5:a2,mod_dl_dst:06:3b:31:b8:d5:a2,mod_nw_src:10.0.0.10,mod_nw_dst:10.0.0.10,mod_tp_dst:9877,IN_PORT


#packet is not returned.


On Tue, Jan 10, 2012 at 3:02 PM, Aaron Rosen <aro...@clemson.edu> wrote:
> Here are lines (154-158) from here http://codepad.org/APdmOTGN (more debug)
>
> Thanks,
>
> Aaron
>
> Jan 10 14:46:07 localhost ovs-vswitchd: 04385|dpif|DBG|system@dp0: miss
> upcall:
> Jan 10 14:46:07 localhost ovs-vswitchd:
> in_port(0),eth(src=00:1f:29:32:92:4d,dst=00:1b:21:6a:85:88),eth_type(0x0800),ipv4(src=10.0.0.10,dst=10.0.0.13,proto=6,tos=0,ttl=64,frag=no),tcp(src=38710,dst=5004)
> Jan 10 14:46:07 localhost ovs-vswitchd: 00:1f:29:32:92:4d >
> 00:1b:21:6a:85:88, ethertype IPv4 (0x0800), length 74: 10.0.0.10.38710 >
> 10.0.0.13.5004: S 3410511224:3410511224(0) win 14600 <mss
> 1460,sackOK,timestamp 9255759 0,nop,wscale 6>
> Jan 10 14:46:07 localhost ovs-vswitchd: 04386|dpif|DBG|system@dp0: execute
> set(eth(src=00:1f:29:32:92:4d,dst=00:1f:29:32:92:4d)),set(ipv4(src=10.0.0.10,dst=10.0.0.10,proto=6,tos=0,ttl=64,frag=no)),set(tcp(src=38710,dst=9877)),0
> on packet 00:1f:29:32:92:4d > 00:1b:21:6a:85:88, ethertype IPv4 (0x0800),
> length 74: 10.0.0.10.38710 > 10.0.0.13.5004: S 3410511224:3410511224(0) win
> 14600 <mss 1460,sackOK,timestamp 9255759 0,nop,wscale 6>
> Jan 10 14:46:07 localhost ovs-vswitchd: 04387|dpif|DBG|system@dp0:
> put[create][modify]
> in_port(0),eth(src=00:1f:29:32:92:4d,dst=00:1b:21:6a:85:88),eth_type(0x0800),ipv4(src=10.0.0.10,dst=10.0.0.13,proto=6,tos=0,ttl=64,frag=no),tcp(src=38710,dst=5004),
> actions:set(eth(src=00:1f:29:32:92:4d,dst=00:1f:29:32:92:4d)),set(ipv4(src=10.0.0.10,dst=10.0.0.10,proto=6,tos=0,ttl=64,frag=no)),set(tcp(src=38710,dst=9877)),0
>
>
>
> On Tue, Jan 10, 2012 at 1:39 PM, Ben Pfaff <b...@nicira.com> wrote:
>>
>> I'd expect such packets to show up in tcpdump in any case.
>>
>> On Tue, Jan 10, 2012 at 01:35:48PM -0500, Aaron Rosen wrote:
>> > I'd be curious what the expected behavior should be if linux sees a
>> > packet
>> > arriving on an interface matching it's dl_src/src_ip. (Since this should
>> > have probably gone through lo ).
>> >
>> > I also enabled log_martians and it's not saying anything about this.
>> >
>> > Thanks,
>> >
>> > Aaron
>> >
>> > On Tue, Jan 10, 2012 at 1:32 PM, Aaron Rosen <aro...@clemson.edu> wrote:
>> >
>> > > These packets are the normal SYN packets to initial a TCP connection.
>> > >
>> > > The weird thing though is if I use this flow_mod it works fine:
>> > >  (using a
>> > > fake ip/mac as the response).
>> > >
>> > >  cookie=0x0, duration=6.622s, table=0, n_packets=93776,
>> > > n_bytes=6191149,
>> > >
>> > > idle_timeout=100,priority=65535,tcp,in_port=65534,vlan_tci=0x0000,dl_src=00:1f:29:32:92:4d,dl_dst=00:1b:21:6a:85:88,nw_src=10.0.0.10,nw_dst=10.0.0.13,nw_tos=0,tp_src=53641,tp_dst=5004
>> > >
>> > > actions=mod_dl_src:66:f3:43:38:f4:a2,mod_dl_dst:00:1f:29:32:92:4d,mod_nw_src:10.0.0.100,mod_nw_dst:10.0.0.10,mod_tp_dst:9877,IN_PORT
>> > >
>> > >
>> > > Then on return packets for that I have this: (so the client is tricked
>> > > in
>> > > to connecting to 10.0.0.100 which is really it's self. Though I don't
>> > > want
>> > > to have to rely on having an extra IP to do this.
>> > >
>> > >  cookie=0x0, duration=6.622s, table=0, n_packets=143378,
>> > > n_bytes=158529948,
>> > >
>> > > idle_timeout=100,tcp,in_port=65534,dl_src=00:1f:29:32:92:4d,nw_src=10.0.0.10,nw_dst=10.0.0.100,tp_src=9877,tp_dst=53641
>> > >
>> > > actions=mod_dl_src:00:1b:21:6a:85:88,mod_dl_dst:00:1f:29:32:92:4d,mod_nw_dst:10.0.0.10,mod_nw_src:10.0.0.13,mod_tp_src:5004,IN_PORT
>> > >
>> > >
>> > >
>> > > On Tue, Jan 10, 2012 at 1:21 PM, Ben Pfaff <b...@nicira.com> wrote:
>> > >
>> > >> The datapath actions look like what I'd expect to see.  I'd expect
>> > >> the
>> > >> modified packets to show up in tcpdump.  I see that there are only
>> > >> two
>> > >> such packets over an 18-second period.  Can you send them faster?  It
>> > >> looks like the second packet didn't get caught by the kernel flow
>> > >> ("used:never") so both packets were actually processed in userspace;
>> > >> perhaps there is a bug in the userspace processing, which is
>> > >> currently
>> > >> in transition.
>> > >>
>> > >> On Tue, Jan 10, 2012 at 01:12:59PM -0500, Aaron Rosen wrote:
>> > >> > pg46 openvswitch # ovs-ofctl dump-flows dp0
>> > >> > NXST_FLOW reply (xid=0x4):
>> > >> > # Removed other flows here for paste...
>> > >> >  cookie=0x0, duration=18.467s, table=0, n_packets=2, n_bytes=148,
>> > >> >
>> > >>
>> > >> idle_timeout=100,priority=65535,tcp,in_port=65534,vlan_tci=0x0000,dl_src=00:1f:29:32:92:4d,dl_dst=00:1b:21:6a:85:88,nw_src=10.0.0.10,nw_dst=10.0.0.13,nw_tos=0,tp_src=58209,tp_dst=5004
>> > >> >
>> > >>
>> > >> actions=mod_dl_src:00:1f:29:32:92:4d,mod_dl_dst:00:1f:29:32:92:4d,mod_nw_src:10.0.0.10,mod_nw_dst:10.0.0.10,mod_tp_dst:9877,IN_PORT
>> > >> > *
>> > >> > *
>> > >> > pg46 openvswitch # ovs-dpctl dump-flows dp0
>> > >> >
>> > >>
>> > >> in_port(0),eth(src=00:1f:29:32:92:4d,dst=00:1b:21:6a:85:88),eth_type(0x0800),ipv4(src=10.0.0.10,dst=10.0.0.13,proto=6,tos=0,ttl=64,frag=no),tcp(src=58209,dst=5004),
>> > >> > packets:0, bytes:0, used:never,
>> > >> >
>> > >>
>> > >> actions:set(eth(src=00:1f:29:32:92:4d,dst=00:1f:29:32:92:4d)),set(ipv4(src=10.0.0.10,dst=10.0.0.10,proto=6,tos=0,ttl=64,frag=no)),set(tcp(src=58209,dst=9877)),0
>> > >> >
>> > >> >
>> > >> > pg46 openvswitch # ovs-appctl -t ovs-vswitchd  ofproto/trace dp0
>> > >> >
>> > >>
>> > >> 'in_port(0),eth(src=00:1f:29:32:92:4d,dst=00:1b:21:6a:85:88),eth_type(0x0800),ipv4(src=10.0.0.10,dst=10.0.0.13,proto=6,tos=0,ttl=64,frag=no),tcp(src=58209,dst=5004)'
>> > >> > Flow: priority0:tunnel0:in_portfffe:tci(0)
>> > >> > mac00:1f:29:32:92:4d->00:1b:21:6a:85:88 type0800 proto6 tos0 ttl64
>> > >> > ip10.0.0.10->10.0.0.13 port58209->5004
>> > >> > Rule: table=0 cookie=0
>> > >> >
>> > >>
>> > >> priority=65535,tcp,in_port=65534,vlan_tci=0x0000,dl_src=00:1f:29:32:92:4d,dl_dst=00:1b:21:6a:85:88,nw_src=10.0.0.10,nw_dst=10.0.0.13,nw_tos=0,tp_src=58209,tp_dst=5004
>> > >> > OpenFlow
>> > >> >
>> > >>
>> > >> actions=mod_dl_src:00:1f:29:32:92:4d,mod_dl_dst:00:1f:29:32:92:4d,mod_nw_src:10.0.0.10,mod_nw_dst:10.0.0.10,mod_tp_dst:9877,IN_PORT
>> > >> >
>> > >> > Final flow: priority0:tunnel0:in_portfffe:tci(0)
>> > >> > mac00:1f:29:32:92:4d->00:1f:29:32:92:4d type0800 proto6 tos0 ttl64
>> > >> > ip10.0.0.10->10.0.0.10 port58209->9877
>> > >> > Datapath actions:
>> > >> >
>> > >>
>> > >> set(eth(src=00:1f:29:32:92:4d,dst=00:1f:29:32:92:4d)),set(ipv4(src=10.0.0.10,dst=10.0.0.10,proto=6,tos=0,ttl=64,frag=no)),set(tcp(src=58209,dst=9877)),0
>> > >> >
>> > >> >
>> > >> > On Tue, Jan 10, 2012 at 12:28 PM, Ben Pfaff <b...@nicira.com> wrote:
>> > >> > > On Tue, Jan 10, 2012 at 12:15:39PM -0500, Aaron Rosen wrote:
>> > >> > >> Hello,
>> > >> > >>
>> > >> > >> I have a quick question about what could be happening to these
>> > >> packets.
>> > >> > >>
>> > >> > >> I start a tcp connection 10.0.0.10 > 10.0.0.13:
>> > >> > >>
>> > >> > >> 12:02:55.961344 00:1f:29:32:92:4d (oui Unknown) >
>> > >> > >> 00:1b:21:6a:85:88
>> > >> > >> (oui Unknown), ethertype IPv4 (0x0800), length 74:
>> > >> > >> 10.0.0.10.50490 >
>> > >> > >> 10.0.0.13.5004: S
>> > >> > >>
>> > >> > >> Then the following flow entry is installed in order to handle
>> > >> > >> this
>> > >> flow:
>> > >> > >>
>> > >> > >> ?cookie=0x0, duration=4.55s, table=0, n_packets=1, n_bytes=74,
>> > >> > >>
>> > >> >
>> > >>
>> > >> idle_timeout=10,priority=65535,tcp,in_port=65534,vlan_tci=0x0000,dl_src=00:1f:29:32:92:4d,dl_dst=00:1b:21:6a:85:88,nw_src=10.0.0.10,nw_dst=10.0.0.13,nw_tos=0,tp_src=50490,tp_dst=5004
>> > >> > >>
>> > >> >
>> > >>
>> > >> actions=mod_dl_src:00:1f:29:32:92:4d,mod_dl_dst:00:1f:29:32:92:4d,mod_nw_src:10.0.0.10,mod_nw_dst:10.0.0.10,mod_tp_dst:9877,IN_PORT
>> > >> > >>
>> > >> > >>
>> > >> > >> Though, I never see these packets come back in on the interface
>> > >> > >> that
>> > >> > >> it went out on.
>> > >> > >
>> > >> > > What does "ovs-appctl ofproto/trace" or "ovs-dpctl dump-flows"
>> > >> > > show
>> > >> > > happening to the packets?
>> > >> >
>> > >> >
>> > >> >
>> > >> > --
>> > >> > Aaron O. Rosen
>> > >> > Masters Student - Network Communication
>> > >> > 306B Fluor Daniel
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Aaron O. Rosen
>> > > Masters Student - Network Communication
>> > > 306B Fluor Daniel
>> > >
>> > >
>> > >
>> >
>> >
>> > --
>> > Aaron O. Rosen
>> > Masters Student - Network Communication
>> > 306B Fluor Daniel
>
>
>
>
> --
> Aaron O. Rosen
> Masters Student - Network Communication
> 306B Fluor Daniel
>
>



-- 
Aaron O. Rosen
Masters Student - Network Communication
306B Fluor Daniel
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to