On 06/18/15 at 09:49pm, Roopa Prabhu wrote: > +#ifdef CONFIG_LWTUNNEL > + if (fi->fib_nh->nh_lwtstate) { > + struct lwtunnel_state *lwtstate; > + > + lwtstate = fi->fib_nh->nh_lwtstate; > + if (nla_put_u16(skb, RTA_ENCAP_TYPE, lwtstate->type)) > + goto nla_put_failure; > + lwtunnel_fill_encap(skb, lwtstate); > + } > } > +#endif
Misplaced #endif ;-) Other than that I managed to rebase my changes onto yours and it looks clean. Since we also discussed this a bit at NFWS, I'm enclosing a quick summary: * Overall consensus that a lightweight flow based encapsulation makes sense. * Realization that what we actually want is stackable skb metadata between layers without over engineering it. * Consensus to avoid adding it to skb_shared_info and try to reuse the skb dst field. * New dst_metadata type similar to xfrm_dst which can carry metadata such as encapsulation instructions/information. * Can be made stackable to implement nested encapsulation if needed. Left out in the beginning to keep it simple. * Possible optimization option by putting the dst_metadata into a per cpu scratch buffer or stack without taking a reference and only force the reference & allocation when the skb is about to be queued. The regular fast path should never queue a skb with dst metadata attached. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html