unsigned int family, const void *cfg,
                         struct lwtunnel_state **lws,
                         struct netlink_ext_ack *extack);
-int lwtunnel_fill_encap(struct sk_buff *skb,
-                       struct lwtunnel_state *lwtstate);
+int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate,
+                       int encap_attr, int encap_type_attr);
 int lwtunnel_get_encap_size(struct lwtunnel_state *lwtstate);
 struct lwtunnel_state *lwtunnel_state_alloc(int hdr_len);
 int lwtunnel_cmp_encap(struct lwtunnel_state *a, struct lwtunnel_state *b);
 }
 
 static inline int lwtunnel_fill_encap(struct sk_buff *skb,
-                                     struct lwtunnel_state *lwtstate)
+                                     struct lwtunnel_state *lwtstate,
+                                     int encap_attr, int encap_type_attr)
 {
        return 0;
 }
 
 }
 EXPORT_SYMBOL_GPL(lwtstate_free);
 
-int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate)
+int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate,
+                       int encap_attr, int encap_type_attr)
 {
        const struct lwtunnel_encap_ops *ops;
        struct nlattr *nest;
            lwtstate->type > LWTUNNEL_ENCAP_MAX)
                return 0;
 
-       nest = nla_nest_start(skb, RTA_ENCAP);
+       nest = nla_nest_start(skb, encap_attr);
        if (!nest)
                return -EMSGSIZE;
 
        if (ret)
                goto nla_put_failure;
        nla_nest_end(skb, nest);
-       ret = nla_put_u16(skb, RTA_ENCAP_TYPE, lwtstate->type);
+       ret = nla_put_u16(skb, encap_type_attr, lwtstate->type);
        if (ret)
                goto nla_put_failure;
 
 
                goto nla_put_failure;
 
        if (nhc->nhc_lwtstate &&
-           lwtunnel_fill_encap(skb, nhc->nhc_lwtstate) < 0)
+           lwtunnel_fill_encap(skb, nhc->nhc_lwtstate,
+                               RTA_ENCAP, RTA_ENCAP_TYPE) < 0)
                goto nla_put_failure;
 
        return 0;