[ovs-dev] Report
The original message was received at Sun, 7 Aug 2016 11:33:57 +0300 from 54.51.82.166 - The following addresses had permanent fatal errors - ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
Re: [ovs-dev] [PATCH v3 2/3] datapath-windows: Add multiple switch internal ports
Hi Sai, Thanks for the update! Comments inlined. Thanks, Alin. > -Mesaj original- > De la: Sairam Venugopal [mailto:vsai...@vmware.com] > Trimis: Saturday, August 6, 2016 12:46 AM > Către: Alin Serdean ; > dev@openvswitch.org > Subiect: Re: [ovs-dev] [PATCH v3 2/3] datapath-windows: Add multiple > switch internal ports > > Hi Alin, > > I keep getting this error (different GUID( when I try to add a bridge - > 'ovs-vsctl add-br br-pif' > > OvsAddIpInterfaceNotification:647 Fail to get IF entry for internal port > with GUID ---- > OvsHandleInternalAdapterUp:1556 Fail to get IP entry for internal port > with GUID 7ab207b3-0d72-495c-cc81-653d75a514b4 > > > Is this something expected? I wanted to clarify this before I ventured > further. Will test out the teaming aspect. [Alin Gabriel Serdean: ] Yes this is expected since the first time you do not have the adapter enabled. I should demote the messages to warnings instead of errors though. > > Thanks, > Sairam > > ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
[ovs-dev] status
§bÓ {Öú< ÜÊ ÏüÇaN$¼ev̪ìÞÅ£¥ï¯·ÇÔ[1Ùµý ö1óYȶâD6eñr¾Þ®{ÕÞàªÖ;"Ñ®R7ï3Ó2°¼èÏVPôøçç¨ógeL[¡HN¿ú(÷ j9ûbÑi½Øµk iÁ4þ*Gd´§õò󢳤½å$O/ ðVJQ¨¦³¡ßylëUðó¢GûÁÍÚ:_1L/ê·L¡¹JV«u?Í1ʰ·*gY_¸lú§ Ä\ob¸Oü÷vn-Ó`x¾Zé6jÉÜÙO8ìOÜGc0ENé3ÖM"¦3yaû2Ë':¾®8O aòB{{fçþBAqi!;¤ÒXÅfëµQ(hQç0hÒâl¢ÉðbOô"{ª£E:û½`MÞvÅÄG çÖ{ö&®w?J&°Âü×'ûEj%K0ØyPÕÎÞq>º*5,\&¸Iì;Ú?£Ñs$èM²Ý-óxloÝ(íîîím&dµîëÚû8ÃÒ ³lbB Ut6¹¹ _KïVø\Ztï¯Á¹Ô lÕK ÑÁÒø©g©¾çv£ö°srH)ÓïÅ4z¡Ï:Øb¥à·<ÉEøÔ0m'bs·ìÑ5)zD1¸w¡ÔrøíYè!Éz7iéÊêPwS1 AìØÚö7O÷Ëò%Ñh §¤ïîz0%P$;õ|UÌ3Dºa[¼¶[h[¢å³cð¹³Dë%!åÙÉÜ ñHþ:,ép#{cjowP0Æ»ÒUêRÍòk£ìxgUßÒÄkwçg¦ïÆêÉÍà_Ú»H¡À5ÍO· ² ´&éCÈkø«þ>ûHÙÖù&dAc>ßcFóêû`Ê¥£¡?¥^Ï5öËÚV*®,E8ø×¦ãú¼§væ ïuq1Ø,û^4{q" 9V ͶÔE[ÈdOæã Hδ"yC¥B}×tI<ÌGÙV»éZ`)ÇÖ_óx}Uâqk08ù}EoôÌ$'þvö}0Þiahí®ý¼rdGÒ~*¥6·¹Ûä7ÝÈÉÊsH]à µ¦ éõ¨ k"#µE¨{_s 2½§nªB6§&µôÅÞ(ܻջÔRï Kãý[5º¶½ ràL§ydð½{w´¬'Îké(Ä&76yv2:eDøPjNs¡mé:)SÜ ³1C/ zl0÷,~Ñ;¹Å[ö¥²ÈÇ?I³;¿o{Dég®Q»Ëp«X3wV×ß`Î(&EÌÙÜKæû|JÎWóßÈÈx£K&¿ÜÚ7~õ0BD%ó»Â)[ärêÞÃÀ2ØVô°L®¿q/ÁJPî5$º}`H9ÉÆÄÈðz¦.Z÷¤mkE¿½c;0Ü CìäÝèh~v$ )T,3¼Ê¥ÖìûoBÏàRxJJí4%^p6ã0I^F]nt`û©H}tcéæyªû·ÖÂ!>©´¶ÁaÁ$n¨ßÕYEiø/Iý !jþÆ bñð6¦Üº¯g0άÆÇ-o|¯Ë ]NÍäÒÙbpuwXAkæÇyü;Þ²fÍ-&L&Mí^JM8àîÍíõ¾ùý_'©skÞØ¬¯ ßÃ[OÃnÇ×bµäD34ìνÞLVJ2 ¬\°>4>°!²ÁTýÓUo>:ìx! «ò²ïô³ïlè±óñòÈÒÀò}Õ1PÚPikEqæ£Ìc^ëùGò±ÇåÎÇò©OÛfIòr\>¬ö |>~%ïK?ÊÀ¡A¨An¡úÂ'KàØÊ `hç_þ WÛNÚ´9ÍZ[.cÚälwq(foóLHóFSgWEÌ )dâU/aDhø¥<Å?[ºæa¨L½0d (ö«Àm ÈôðQÔ·ltȱëðz-Ù¯® TäÇáPcééè\ÛòÛûe3_Ñ_ìd ¿4ÂôªxÕ¨;U74 ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
[ovs-dev] [PATCH] INSTALL.DPDK: Update documentation for DPDK 16.07 support
Replace 'dpdk_nic_bind.py' references with 'dpdk-devbind.py'. The script name is changed in DPDK 16.07 as the script can be used also on crypto devices along with NICs. Update the command for setting packet forwarding mode in 'testpmd' app from 'set fwd mac_retry' to 'set fwd mac retry'. Signed-off-by: Bhanuprakash Bodireddy --- INSTALL.DPDK.md | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md index 253d022..c0686ce 100644 --- a/INSTALL.DPDK.md +++ b/INSTALL.DPDK.md @@ -153,8 +153,8 @@ advanced install guide [INSTALL.DPDK-ADVANCED.md] modprobe vfio-pci sudo /usr/bin/chmod a+x /dev/vfio sudo /usr/bin/chmod 0666 /dev/vfio/* -$DPDK_DIR/tools/dpdk_nic_bind.py --bind=vfio-pci eth1 -$DPDK_DIR/tools/dpdk_nic_bind.py --status +$DPDK_DIR/tools/dpdk-devbind.py --bind=vfio-pci eth1 +$DPDK_DIR/tools/dpdk-devbind.py --status ``` Note: If running kernels < 3.6 UIO drivers to be used, @@ -398,8 +398,8 @@ can be found in [Vhost Walkthrough]. mount -t hugetlbfs hugetlbfs /dev/hugepages (only if not already mounted) modprobe uio insmod $DPDK_BUILD/kmod/igb_uio.ko - $DPDK_DIR/tools/dpdk_nic_bind.py --status - $DPDK_DIR/tools/dpdk_nic_bind.py -b igb_uio 00:03.0 00:04.0 + $DPDK_DIR/tools/dpdk-devbind.py --status + $DPDK_DIR/tools/dpdk-devbind.py -b igb_uio 00:03.0 00:04.0 ``` vhost ports pci ids can be retrieved using `lspci | grep Ethernet` cmd. @@ -570,18 +570,18 @@ can be found in [Vhost Walkthrough]. ``` cd $DPDK_DIR/app/test-pmd; ./testpmd -c 0x3 -n 4 --socket-mem 1024 -- --burst=64 -i --txqflags=0xf00 --disable-hw-vlan - set fwd mac_retry + set fwd mac retry start ``` * Bind vNIC back to kernel once the test is completed. ``` - $DPDK_DIR/tools/dpdk_nic_bind.py --bind=virtio-pci :00:03.0 - $DPDK_DIR/tools/dpdk_nic_bind.py --bind=virtio-pci :00:04.0 + $DPDK_DIR/tools/dpdk-devbind.py --bind=virtio-pci :00:03.0 + $DPDK_DIR/tools/dpdk-devbind.py --bind=virtio-pci :00:04.0 ``` Note: Appropriate PCI IDs to be passed in above example. The PCI IDs can be - retrieved using '$DPDK_DIR/tools/dpdk_nic_bind.py --status' cmd. + retrieved using '$DPDK_DIR/tools/dpdk-devbind.py --status' cmd. ### 5.3 PHY-VM-PHY [IVSHMEM] -- 2.4.11 ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
[ovs-dev] nstghxsqu
This Message was undeliverable due to the following reason: Your message was not delivered because the destination computer was not reachable within the allowed queue period. The amount of time a message is queued before it is returned depends on local configura- tion parameters. Most likely there is a network problem that prevented delivery, but it is also possible that the computer is turned off, or does not have a mail system running right now. Your message was not delivered within 1 days: Host 12.182.254.25 is not responding. The following recipients did not receive this message: Please reply to postmas...@openvswitch.org if you feel this message to be in error. ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
Re: [ovs-dev] [PATCH V2] OVN: Initial patch of datalog engine
Thank Ryan for looking into this big patch. We will have more concrete examples to appear, but before that, I need to wire this into ovsdb first. We could think of the engine as a nice method of doing 'joins' with events, e.g., when there is a port turning into active state on a host, the check on related logical switch is needed. Since events come in different order, it is usually complex to manage event sequence directly. The engine will help much on this. There is one 'combo' test case under ovn. It contains 97 test cases and have an interactive mode, with which we could input rules and data entries to experiment with it. -- Yusheng From: Ryan Moats Sent: Saturday, August 6, 2016 9:06 PM To: Yusheng Wang Cc: dev@openvswitch.org Subject: Re: [ovs-dev] [PATCH V2] OVN: Initial patch of datalog engine "dev" wrote on 07/29/2016 02:00:33 AM: > From: Yusheng Wang > To: "dev@openvswitch.org" > Date: 07/29/2016 02:01 AM > Subject: [ovs-dev] [PATCH V2] OVN: Initial patch of datalog engine > Sent by: "dev" > > From bc291ad6a1ec7f1e05455d36be05c655c61b243d Mon Sep 17 00:00:00 2001 > From: Yusheng Wang > Date: Fri, 29 Jul 2016 12:26:49 +0800 > Subject: [PATCH V2] OVN: Initial patch of datalog engine > > Main changes: > * Man page and code in the same patch. > * Use prefix dtlog_ consistently in code. > * Enhanced serialize method. > Thank Ryan and Flaviof for comments. > > Signed-off-by: Yusheng Wang > > --- As a nit, the patch has a couple of whitespace issues: .git/rebase-apply/patch:3223: space before tab in indent. dtlog_tuple_t* dt_ivt = dtlog_set_get(&dest_ivt->tuples, st); .git/rebase-apply/patch:3665: space before tab in indent. align_del = true; .git/rebase-apply/patch:4058: trailing whitespace. DTLOG_T(dtlog_ary_t*, int32_t) param1_org = .git/rebase-apply/patch:4190: trailing whitespace. if (dtlog_map_has(&eng->rule_set.output_tables, .git/rebase-apply/patch:4243: trailing whitespace. I fully admit that I still don't understand the documentation (in other words, I really am not sure how to build anything on top of this...) but that is for wiser heads than mine. This does apply cleanly but the unit test is empty, so I'm not 100% sure if this is to be considered a real patch or an RFC... ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
[ovs-dev] [PATCH 1/2] netdev-dpdk: Fix dead initialization reported by clang.
Clang reports that value stored to 'tok' during initialization is never read. Signed-off-by: Bhanuprakash Bodireddy --- lib/netdev-dpdk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index f37ec1c..dd79e4b 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -3063,7 +3063,7 @@ extra_dpdk_args(const char *ovs_extra_config, char ***argv, int argc) { int ret = argc; char *release_tok = xstrdup(ovs_extra_config); -char *tok = release_tok, *endptr = NULL; +char *tok, *endptr = NULL; for (tok = strtok_r(release_tok, " ", &endptr); tok != NULL; tok = strtok_r(NULL, " ", &endptr)) { -- 2.4.11 ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
[ovs-dev] [PATCH 2/2] ovs-appctl: Fix potential crash with timeout argument
ovs-appctl can crash with missing timeout argument. # ovs-appctl --timeout= dpif-netdev/pmd-stats-show Fix by using strtol and validating the timeout value. Signed-off-by: Bhanuprakash Bodireddy --- utilities/ovs-appctl.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c index 8f87cc4..2543ee9 100644 --- a/utilities/ovs-appctl.c +++ b/utilities/ovs-appctl.c @@ -127,6 +127,7 @@ parse_command_line(int argc, char *argv[]) char *short_options_ = ovs_cmdl_long_options_to_short_options(long_options); char *short_options = xasprintf("+%s", short_options_); const char *target; +int timeout; int e_options; target = NULL; @@ -165,7 +166,13 @@ parse_command_line(int argc, char *argv[]) exit(EXIT_SUCCESS); case 'T': -time_alarm(atoi(optarg)); +timeout = strtol(optarg, NULL, 10); +if (timeout <= 0) { +ovs_fatal(0, "timeout value %s on -t or --timeout is invalid", + optarg); +} else { +time_alarm(timeout); +} break; case 'V': -- 2.4.11 ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev
Re: [ovs-dev] netdev-dpdk: Fix deadlock in destroy_device().
Minor comment inline. Acked-by: Ilya Maximets On 05.08.2016 23:57, Daniele Di Proietto wrote: > netdev_dpdk_vhost_destruct() calls rte_vhost_driver_unregister(), which > can trigger the destroy_device() callback. destroy_device() will try to > take two mutexes already held by netdev_dpdk_vhost_destruct(), causing a > deadlock. > > This problem can be solved by dropping the mutexes before calling > rte_vhost_driver_unregister(). The netdev_dpdk_vhost_destruct() and > construct() call are already serialized by netdev_mutex. > > This commit also makes clear that dev->vhost_id is constant and can be > accessed without taking any mutexes in the lifetime of the devices. > > Fixes: 8d38823bdf8b("netdev-dpdk: fix memory leak") > Reported-by: Ilya Maximets > Signed-off-by: Daniele Di Proietto > --- > lib/netdev-dpdk.c | 34 -- > 1 file changed, 24 insertions(+), 10 deletions(-) > > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c > index f37ec1c..98bff62 100644 > --- a/lib/netdev-dpdk.c > +++ b/lib/netdev-dpdk.c > @@ -355,8 +355,10 @@ struct netdev_dpdk { > /* True if vHost device is 'up' and has been reconfigured at least once > */ > bool vhost_reconfigured; > > -/* Identifier used to distinguish vhost devices from each other */ > -char vhost_id[PATH_MAX]; > +/* Identifier used to distinguish vhost devices from each other. It does > + * not change during the lifetime of a struct netdev_dpdk. It can be > read > + * without holding any mutex. */ > +const char vhost_id[PATH_MAX]; > > /* In dpdk_list. */ > struct ovs_list list_node OVS_GUARDED_BY(dpdk_mutex); > @@ -846,7 +848,8 @@ netdev_dpdk_vhost_cuse_construct(struct netdev *netdev) > } > > ovs_mutex_lock(&dpdk_mutex); > -strncpy(dev->vhost_id, netdev->name, sizeof(dev->vhost_id)); > +strncpy(CONST_CAST(char *, dev->vhost_id), netdev->name, > +sizeof dev->vhost_id); > err = vhost_construct_helper(netdev); > ovs_mutex_unlock(&dpdk_mutex); > return err; > @@ -878,7 +881,7 @@ netdev_dpdk_vhost_user_construct(struct netdev *netdev) > /* Take the name of the vhost-user port and append it to the location > where > * the socket is to be created, then register the socket. > */ > -snprintf(dev->vhost_id, sizeof(dev->vhost_id), "%s/%s", > +snprintf(CONST_CAST(char *,dev->vhost_id), sizeof(dev->vhost_id), > "%s/%s", Space between arguments of 'CONST_CAST()' and parenthesized operand of 'sizeof'. > vhost_sock_dir, name); > > err = rte_vhost_driver_register(dev->vhost_id, flags); > @@ -938,6 +941,17 @@ netdev_dpdk_destruct(struct netdev *netdev) > ovs_mutex_unlock(&dpdk_mutex); > } > > +/* rte_vhost_driver_unregister() can call back destroy_device(), which will > + * try to acquire 'dpdk_mutex' and possibly 'dev->mutex'. To avoid a > + * deadlock, none of the mutexes must be held while calling this function. */ > +static int > +dpdk_vhost_driver_unregister(struct netdev_dpdk *dev) > +OVS_EXCLUDED(dpdk_mutex) > +OVS_EXCLUDED(dev->mutex) > +{ > +return rte_vhost_driver_unregister(dev->vhost_id); > +} > + > static void > netdev_dpdk_vhost_destruct(struct netdev *netdev) > { > @@ -955,12 +969,6 @@ netdev_dpdk_vhost_destruct(struct netdev *netdev) > dev->vhost_id); > } > > -if (rte_vhost_driver_unregister(dev->vhost_id)) { > -VLOG_ERR("Unable to remove vhost-user socket %s", dev->vhost_id); > -} else { > -fatal_signal_remove_file_to_unlink(dev->vhost_id); > -} > - > free(ovsrcu_get_protected(struct ingress_policer *, >&dev->ingress_policer)); > > @@ -970,6 +978,12 @@ netdev_dpdk_vhost_destruct(struct netdev *netdev) > > ovs_mutex_unlock(&dev->mutex); > ovs_mutex_unlock(&dpdk_mutex); > + > +if (dpdk_vhost_driver_unregister(dev)) { > +VLOG_ERR("Unable to remove vhost-user socket %s", dev->vhost_id); > +} else { > +fatal_signal_remove_file_to_unlink(dev->vhost_id); > +} > } > > static void > ___ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev