<div dir="ltr">Applied to master and backported to branch 1.10-2.1~</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 26, 2014 at 12:53 PM, Ben Pfaff <span dir="ltr">&lt;<a href="mailto:blp@nicira.com" target="_blank">blp@nicira.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks.<br>
<br>
Acked-by: Ben Pfaff &lt;<a href="mailto:blp@nicira.com">blp@nicira.com</a>&gt;<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Wed, Feb 26, 2014 at 12:50:55PM -0800, Alex Wang wrote:<br>
&gt; Me too, will push for Joe soon<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Feb 26, 2014 at 12:42 PM, Ben Pfaff &lt;<a href="mailto:blp@nicira.com">blp@nicira.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; I think I&#39;m OK with this version.  Does anyone have any objections to it?<br>
&gt; &gt;<br>
&gt; &gt; On Tue, Feb 18, 2014 at 04:01:41PM -0800, Joe Stringer wrote:<br>
&gt; &gt; &gt; I asked Ethan and he suggested that Ben might have a better idea.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Ben, is this approach fine? I&#39;m not entirely clear on what the<br>
&gt; &gt; relationship<br>
&gt; &gt; &gt; is between netdev types and datapath port types.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 18 February 2014 14:45, Alex Wang &lt;<a href="mailto:alexw@nicira.com">alexw@nicira.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Acked-by: Alex Wang &lt;<a href="mailto:alexw@nicira.com">alexw@nicira.com</a>&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Ethan,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Could you have a look of this patch?  Do you think get_vport_type() is<br>
&gt; &gt; &gt; &gt; the right place?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt; &gt; &gt; Alex Wang,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Tue, Feb 18, 2014 at 2:26 PM, Joe Stringer &lt;<a href="mailto:joestringer@nicira.com">joestringer@nicira.com</a><br>
&gt; &gt; &gt;wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; When creating tap ports in dpif-linux, the &quot;tap&quot; type is treated the<br>
&gt; &gt; &gt; &gt;&gt; same as &quot;system&quot;, and the type is discarded. When dumping datapath<br>
&gt; &gt; &gt; &gt;&gt; port types, this would cause &quot;tap&quot; type to be reported as a &quot;system&quot;<br>
&gt; &gt; &gt; &gt;&gt; type.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Each time we see a port of the wrong type in bridge_reconfigure(), we<br>
&gt; &gt; &gt; &gt;&gt; remove it and add a port with the correct configuration. This would<br>
&gt; &gt; &gt; &gt;&gt; always occur for tap ports, causing deletion and re-creation of all<br>
&gt; &gt; tap<br>
&gt; &gt; &gt; &gt;&gt; ports each time the bridge was reconfigured.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; This patch makes dpif-linux use netdev to look up port types if the<br>
&gt; &gt; &gt; &gt;&gt; datapath reports that they are of type OVS_VPORT_TYPE_NETDEV.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Bug #1196289.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Reported-by: James Schmidt &lt;<a href="mailto:jschmidt@vmware.com">jschmidt@vmware.com</a>&gt;<br>
&gt; &gt; &gt; &gt;&gt; Signed-off-by: Joe Stringer &lt;<a href="mailto:joestringer@nicira.com">joestringer@nicira.com</a>&gt;<br>
&gt; &gt; &gt; &gt;&gt; ---<br>
&gt; &gt; &gt; &gt;&gt; v2: Fix the issue in dpif-linux instead of ofproto-dpif.<br>
&gt; &gt; &gt; &gt;&gt; ---<br>
&gt; &gt; &gt; &gt;&gt;  lib/dpif-linux.c |    7 +++++--<br>
&gt; &gt; &gt; &gt;&gt;  1 file changed, 5 insertions(+), 2 deletions(-)<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c<br>
&gt; &gt; &gt; &gt;&gt; index f7f5292..18de118 100644<br>
&gt; &gt; &gt; &gt;&gt; --- a/lib/dpif-linux.c<br>
&gt; &gt; &gt; &gt;&gt; +++ b/lib/dpif-linux.c<br>
&gt; &gt; &gt; &gt;&gt; @@ -439,8 +439,11 @@ get_vport_type(const struct dpif_linux_vport<br>
&gt; &gt; *vport)<br>
&gt; &gt; &gt; &gt;&gt;      static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;      switch (vport-&gt;type) {<br>
&gt; &gt; &gt; &gt;&gt; -    case OVS_VPORT_TYPE_NETDEV:<br>
&gt; &gt; &gt; &gt;&gt; -        return &quot;system&quot;;<br>
&gt; &gt; &gt; &gt;&gt; +    case OVS_VPORT_TYPE_NETDEV: {<br>
&gt; &gt; &gt; &gt;&gt; +        const char *type = netdev_get_type_from_name(vport-&gt;name);<br>
&gt; &gt; &gt; &gt;&gt; +<br>
&gt; &gt; &gt; &gt;&gt; +        return type ? type : &quot;system&quot;;<br>
&gt; &gt; &gt; &gt;&gt; +    }<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;      case OVS_VPORT_TYPE_INTERNAL:<br>
&gt; &gt; &gt; &gt;&gt;          return &quot;internal&quot;;<br>
&gt; &gt; &gt; &gt;&gt; --<br>
&gt; &gt; &gt; &gt;&gt; 1.7.9.5<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; _______________________________________________<br>
&gt; &gt; &gt; &gt;&gt; dev mailing list<br>
&gt; &gt; &gt; &gt;&gt; <a href="mailto:dev@openvswitch.org">dev@openvswitch.org</a><br>
&gt; &gt; &gt; &gt;&gt; <a href="http://openvswitch.org/mailman/listinfo/dev" target="_blank">http://openvswitch.org/mailman/listinfo/dev</a><br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
</div></div></blockquote></div><br></div>