[ovs-discuss] throughput when using LOCAL port

Ben Pfaff blp at ovn.org
Wed Nov 30 00:46:09 UTC 2016


Probably it just takes more time to process packets arriving at the
local TCP/IP stack than it does to send packets to a physical port.

What's happening to the packets when they arrive at the local TCP/IP
stack?

On Tue, Nov 29, 2016 at 10:54:04AM +0000, Naoyuki NS Shimizu wrote:
> 
> 
> Hi,
> 
> 
> 
> Because I made following flow.
> 
> 
>  cookie=0x0, duration=1883.504s, table=0, n_packets=1, n_bytes=60, idle_age=1876, priority=3,udp,tp_dst=5001 actions=mod_dl_dst:(PC3(connected to eth3) or LOCAL MAC),mod_nw_dst:(PC3(connected to eth3) or LOCAL IP),mod_tp_dst:4000,output:(eth3 or LOCAL)
>  cookie=0x0, duration=6649.281s, table=0, n_packets=3, n_bytes=182, idle_age=1876, priority=4,udp,nw_src=(PC3(connected to eth3) or LOCAL IP),nw_dst=(PC2(connected to eth2) IP),tp_dst=5001 actions=mod_nw_src:(PC1(connected to eth1)  IP),mod_dl_src:(PC1(connected to eth1) MAC),output: eth2
>  cookie=0x0, duration=6651.852s, table=0, n_packets=1679, n_bytes=100740, idle_age=2, priority=1,arp actions=ALL
> 
> 
> 
> 
> Why I cannot get nearly 1Gbps throughput when I use LOCAL port?
> 
> 
> -----作成者: Ben Pfaff <blp at ovn.org> -----
> 
> 
> 宛先: Naoyuki NS Shimizu/R/RICOH at RICOH
> 送信元: Ben Pfaff <blp at ovn.org>
> 日付: 2016/11/27 07:12AM
> Cc: ovs-discuss at openvswitch.org
> 件名: Re: [ovs-discuss] throughput when using LOCAL port
> 
> 
> Still doesn't make sense to me.  There is no such thing as "sending
> packets from eth1 to eth2".  Instead, OVS receives a packet from eth1
> and does something to it.  This might be sending it to eth2 or to the
> local port.  Your steps 1 and 2, therefore, don't make any sense to me.
> 
> Can you explain what you're doing in terms of how OVS works?
> 
> On Thu, Nov 24, 2016 at 12:47:37AM +0000, Naoyuki NS Shimizu wrote:
> > Thank you for your reply.
> > 
> > 
> > 
> > I want to add infomation to packets in LOCAL port.
> > 
> > Pakcet flow is below. 
> > 
> > 1. I send packets from eth1 to eth2
> > 
> > 2. Switch forward packets to LOCAL port.
> > 
> > 3. I add informatin to packets in LOCAL port. (Now I have not done anything)
> > 
> > 4. I send packets include additional infomation from LOCAL port to eth2. 
> > 
> > 5. Switch forward packets include additional informatin to eth2.
> > 
> > 6.   I receive packets include additional information in eth2.
> > 
> > 
> > 
> > 
> > When I use eth3 instead of LOCAL port, I got nearly 1Gbps throughput.
> > 
> > But when I use LOCAL port, I got nearly 100Mbps throughput.
> > 
> > Why I cannot get nearly 1Gbps throughput when I use LOCAL port? 
> > 
> > 
> > -----作成者: Ben Pfaff <blp at ovn.org> -----
> > 
> > 
> > 宛先: Naoyuki NS Shimizu/R/RICOH at RICOH
> > 送信元: Ben Pfaff <blp at ovn.org>
> > 日付: 2016/11/23 03:25AM
> > Cc: ovs-discuss at openvswitch.org
> > 件名: Re: [ovs-discuss] throughput when using LOCAL port
> > 
> > 
> > On Tue, Nov 22, 2016 at 08:25:49AM +0000, Naoyuki NS Shimizu wrote:
> > > Hi, everyone.
> > > 
> > > I made a switch named ofs0 and added eth1, eth2 and eth3 port.
> > > 
> > > Details are below.
> > > 
> > > 
> > > 
> > > #ovs-ofctl show ofs0
> > > OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000a850722e9
> > > n_tables:254, n_buffers:256
> > > capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
> > > actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
> > >  1(eth1): addr:00:0a:85:07:22:e9
> > >      config:     0
> > >      state:      0
> > >      current:    1GB-FD AUTO_NEG
> > >      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG
> > >      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG
> > >      speed: 1000 Mbps now, 1000 Mbps max
> > >  2(eth2): addr:00:0a:85:07:22:ea
> > >      config:     0
> > >      state:      0
> > >      current:    1GB-FD AUTO_NEG
> > >      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG
> > >      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG
> > >      speed: 1000 Mbps now, 1000 Mbps max
> > > 
> > >  3(eth3): addr:00:0a:85:07:22:eb
> > >      config:     0
> > >      state:      0
> > >      current:    1GB-FD AUTO_NEG
> > >      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG
> > >      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG
> > >      speed: 1000 Mbps now, 1000 Mbps max
> > >  LOCAL(ofs0): addr:00:0a:85:07:22:e9
> > >      config:     0
> > >      state:      0
> > >      speed: 0 Mbps now, 0 Mbps max
> > > 
> > > 
> > > 
> > > I sent packets from eth1 ⇒ LOCAL ⇒ eth2 and I hoped that I can get nearly 1Gbps throughput.
> > > 
> > > But I got only 100Mbps throughput.
> > > 
> > > When I sent packets from eth1 ⇒ eth3 ⇒eth2, I got nearly 1GHz throughput.
> > > 
> > > 
> > > 
> > > Why I cannot get nearly 1GHz throughput when I use LOCAL port?
> > 
> > I guess, when you say 1 GHz, you mean 1 Gbps.
> > 
> > I don't understand what eth1 ⇒ LOCAL ⇒ eth2 means.  The switch forwards
> > packets that arrive on one port to another port.  So, it could for
> > example forward packets that arrive on eth1 to LOCAL.   But I don't know
> > why packets sent to LOCAL would then go to eth2.  It might be possible
> > to arrange for that with routing, but you didn't mention any routes.
> > 
> > Maybe you should tell us what you're doing.
> > 
> 


More information about the discuss mailing list