]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - include/net/protocol.h
net: Convert protocol error handlers from void to int
[mirror_ubuntu-jammy-kernel.git] / include / net / protocol.h
index 4fc75f7ae23beb47674b04df27ac6ef4594679fe..92b3eaad60888963d3dce6a637f06582829ca883 100644 (file)
@@ -42,7 +42,10 @@ struct net_protocol {
        int                     (*early_demux)(struct sk_buff *skb);
        int                     (*early_demux_handler)(struct sk_buff *skb);
        int                     (*handler)(struct sk_buff *skb);
-       void                    (*err_handler)(struct sk_buff *skb, u32 info);
+
+       /* This returns an error if we weren't able to handle the error. */
+       int                     (*err_handler)(struct sk_buff *skb, u32 info);
+
        unsigned int            no_policy:1,
                                netns_ok:1,
                                /* does the protocol do more stringent
@@ -58,10 +61,12 @@ struct inet6_protocol {
        void    (*early_demux_handler)(struct sk_buff *skb);
        int     (*handler)(struct sk_buff *skb);
 
-       void    (*err_handler)(struct sk_buff *skb,
+       /* This returns an error if we weren't able to handle the error. */
+       int     (*err_handler)(struct sk_buff *skb,
                               struct inet6_skb_parm *opt,
                               u8 type, u8 code, int offset,
                               __be32 info);
+
        unsigned int    flags;  /* INET6_PROTO_xxx */
 };