<div dir="ltr">I get a warning in gso.c after this patch:<div><br><div>datapath/linux/gso.c: In function ‘rpl_ip_local_out’:<br><div>datapath/linux/gso.c:134:174: warning: ‘id’ may be used uninitialized in this function [-Wuninitialized]<br>


</div></div></div><div><br></div><div>Could you take a look at this?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 21, 2013 at 3:14 PM, Pravin Shelar <span dir="ltr">&lt;<a href="mailto:pshelar@nicira.com" target="_blank">pshelar@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"><div class="HOEnZb"><div class="h5">On Thu, Jun 20, 2013 at 5:50 PM, Jesse Gross &lt;<a href="mailto:jesse@nicira.com">jesse@nicira.com</a>&gt; wrote:<br>


&gt; On Thu, Jun 20, 2013 at 5:19 PM, Pravin B Shelar &lt;<a href="mailto:pshelar@nicira.com">pshelar@nicira.com</a>&gt; wrote:<br>
&gt;&gt; diff --git a/datapath/linux/compat/skbuff-openvswitch.c b/datapath/linux/compat/skbuff-openvswitch.c<br>
&gt;&gt; index ef43ba9..720bc18 100644<br>
&gt;&gt; --- a/datapath/linux/compat/skbuff-openvswitch.c<br>
&gt;&gt; +++ b/datapath/linux/compat/skbuff-openvswitch.c<br>
&gt;&gt; +#if LINUX_VERSION_CODE &lt; KERNEL_VERSION(2,6,19)<br>
&gt;&gt; +int skb_checksum_help(struct sk_buff *skb, int inward)<br>
&gt;&gt; +#else<br>
&gt;&gt; +int skb_checksum_help(struct sk_buff *skb)<br>
&gt;&gt; +#endif<br>
&gt;&gt; +{<br>
&gt;&gt; +       /* Use default features for dst device. */<br>
&gt;&gt; +       if (unlikely(skb_is_nonlinear(skb))) {<br>
&gt;&gt; +               int err;<br>
&gt;<br>
&gt; I think the above comment no longer applies since we&#39;re not pulling<br>
&gt; any device features.<br>
&gt;<br>
&gt;&gt; diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c<br>
&gt;&gt; index dae35ac..fda6481 100644<br>
&gt;&gt; --- a/datapath/vport-gre.c<br>
&gt;&gt; +++ b/datapath/vport-gre.c<br>
&gt;&gt; +static int __send(struct vport *vport, struct sk_buff *skb,<br>
&gt;&gt; +                 int tunnel_hlen,<br>
&gt;&gt; +                 __be32 seq, __be16 gre64_flag)<br>
&gt; [...]<br>
&gt;&gt; -       ovs_tnl_rcv(vport, skb, &amp;tun_key);<br>
&gt;&gt; -       return 0;<br>
&gt;&gt; +       /* Push Tunnel header. */<br>
&gt;&gt; +       skb = __build_header(skb, tunnel_hlen, seq, gre64_flag);<br>
&gt;&gt; +       if (unlikely(!skb)) {<br>
&gt;&gt; +               err = 0;<br>
&gt;&gt; +               goto err_free_rt;<br>
&gt;&gt; +       }<br>
&gt;&gt;<br>
&gt;&gt; +       df = OVS_CB(skb)-&gt;tun_key-&gt;tun_flags &amp; TUNNEL_DONT_FRAGMENT ?<br>
&gt;&gt; +               htons(IP_DF) : 0;<br>
&gt;&gt; +<br>
&gt;&gt; +       /*<br>
&gt;&gt; +        * Allow our local IP stack to fragment the outer packet even<br>
&gt;&gt; +        * if the DF bit is set as a last resort.  We also need to<br>
&gt;&gt; +        * force selection of an IP ID here because Linux will<br>
&gt;&gt; +        * otherwise leave it at 0 if the packet originally had DF set.<br>
&gt;&gt; +        */<br>
&gt;<br>
&gt; I believe this comment was deleted/moved in the upstream version.<br>
&gt;<br>
&gt; Those are both minor though so<br>
&gt; Acked-by: Jesse Gross &lt;<a href="mailto:jesse@nicira.com">jesse@nicira.com</a>&gt;<br>
<br>
</div></div>Thanks,<br>
I pushed code with above changes and compat checksum check in<br>
iptunnel_pull_header().<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openvswitch.org">dev@openvswitch.org</a><br>
<a href="http://openvswitch.org/mailman/listinfo/dev" target="_blank">http://openvswitch.org/mailman/listinfo/dev</a><br>
</div></div></blockquote></div><br></div>