On Tue, Jan 28, 2014 at 7:48 AM, Thomas Graf <tg...@redhat.com> wrote: > On 01/28/2014 02:48 AM, pshe...@nicira.com wrote: >> >> From: Pravin B Shelar <pshe...@nicira.com> >> >> Following patch adds DPDK netdev-class to userspace datapath. >> Approach taken in this patch differs from Intel® DPDK vSwitch >> where DPDK datapath switching is done in saparate process. This >> patch adds support for DPDK type port and uses OVS userspace >> datapath for switching. Therefore all DPDK processing and flow >> miss handling is done in single process. This also avoids code >> duplication by reusing OVS userspace datapath switching and >> therefore it supports all flow matching and actions that >> user-space datapath supports. Refer to INSTALL.DPDK doc for >> further info. >> >> With this patch I got similar performance for netperf TCP_STREAM >> tests compared to kernel datapath. > > > I'm happy to see this happen! > > > >> +static const struct rte_eth_conf port_conf = { >> + .rxmode = { >> + .mq_mode = ETH_MQ_RX_RSS, >> + .split_hdr_size = 0, >> + .header_split = 0, /* Header Split disabled */ >> + .hw_ip_checksum = 0, /* IP checksum offload enabled */ >> + .hw_vlan_filter = 0, /* VLAN filtering disabled */ >> + .jumbo_frame = 0, /* Jumbo Frame Support disabled */ >> + .hw_strip_crc = 0, /* CRC stripped by hardware */ >> + }, >> + .rx_adv_conf = { >> + .rss_conf = { >> + .rss_key = NULL, >> + .rss_hf = ETH_RSS_IPV4_TCP | ETH_RSS_IPV4 | >> ETH_RSS_IPV6, >> + }, >> + }, >> + .txmode = { >> + .mq_mode = ETH_MQ_TX_NONE, >> + }, >> +}; > > > I realize this is an RFC patch but I will ask anyway: > > What are the plans on managing runtime dependencies of a DPDK enabled OVS > and DPDK itself? Will a OVS built against DPDK 1.5.2 work with > drivers written for 1.5.3? > > Based on the above use of struct rte_eth_conf it would seem that once > released, rte_eth_conf cannot be extended anymore without breaking > ABI compatibility. The same applies to many of the other user > structures. I see various structures changes between minor releases, > for example dpdk.org ed2c69c3ef7 between 1.5.1 and 1.5.2. >
Right, version mismatch will not work. API provided by DPDK are not stable, So OVS has to be built for different releases for now. I do not see how we can fix it from OVS side. DPDK needs to standardize API, Actually OVS also needs more API, like DPDK initialization, mempool destroy, etc. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev