]> Pileus Git - ~andy/linux/blobdiff - net/xfrm/xfrm_output.c
xfrm: make local error reporting more robust
[~andy/linux] / net / xfrm / xfrm_output.c
index eb4a8428864879a1346fbd7895b4e5afaa4d91e3..6f5fc612b162f699069a85bab552b14b29744aa8 100644 (file)
@@ -214,5 +214,18 @@ int xfrm_inner_extract_output(struct xfrm_state *x, struct sk_buff *skb)
        return inner_mode->afinfo->extract_output(x, skb);
 }
 
+void xfrm_local_error(struct sk_buff *skb, int mtu)
+{
+       struct xfrm_state_afinfo *afinfo;
+
+       afinfo = xfrm_state_get_afinfo(skb->sk->sk_family);
+       if (!afinfo)
+               return;
+
+       afinfo->local_error(skb, mtu);
+       xfrm_state_put_afinfo(afinfo);
+}
+
 EXPORT_SYMBOL_GPL(xfrm_output);
 EXPORT_SYMBOL_GPL(xfrm_inner_extract_output);
+EXPORT_SYMBOL_GPL(xfrm_local_error);