On Wed, Sep 19, 2007 at 09:43:49AM +0100, James Chapman wrote: > > >-discard: > >- /* Free the new skb. Caller will free original skb. */ > >- if (skb2 != skb) > >- kfree_skb(skb2); > > abort: > >- return 0; > >+ /* Free the original skb */ > >+ kfree_skb(skb); > >+ return 1; > > } > > Shouldn't this return 0 in the error case and without the kfree_skb()? > This lets ppp requeue the skb.
No. As I described in the changelog, the return value of 0 is only meaningful for ppp_async and ppp_sync. Returning 0 means that you're congested, not that there has been a temporary error and the packet should be retried. Retransmission should be left to the higher protocols. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html