[NETFILTER]: nf_conntrack: reorder struct nf_conntrack_l4proto
authorPatrick McHardy <kaber@trash.net>
Thu, 31 Jan 2008 12:41:14 +0000 (04:41 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Feb 2008 03:27:57 +0000 (19:27 -0800)
Reorder struct nf_conntrack_l4proto so all members used during packet
processing are in the same cacheline.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netfilter/nf_conntrack_l4proto.h

index fb50c217ba0af56f447ec44d84255bacd2d1061f..84892cc1d6034e4dacd1397f830ecee70aafff2c 100644 (file)
@@ -23,9 +23,6 @@ struct nf_conntrack_l4proto
        /* L4 Protocol number. */
        u_int8_t l4proto;
 
-       /* Protocol name */
-       const char *name;
-
        /* Try to fill in the third arg: dataoff is offset past network protocol
            hdr.  Return true if possible. */
        int (*pkt_to_tuple)(const struct sk_buff *skb,
@@ -38,13 +35,6 @@ struct nf_conntrack_l4proto
        int (*invert_tuple)(struct nf_conntrack_tuple *inverse,
                            const struct nf_conntrack_tuple *orig);
 
-       /* Print out the per-protocol part of the tuple. Return like seq_* */
-       int (*print_tuple)(struct seq_file *s,
-                          const struct nf_conntrack_tuple *);
-
-       /* Print out the private part of the conntrack. */
-       int (*print_conntrack)(struct seq_file *s, const struct nf_conn *);
-
        /* Returns verdict for packet, or -1 for invalid. */
        int (*packet)(struct nf_conn *conntrack,
                      const struct sk_buff *skb,
@@ -65,6 +55,13 @@ struct nf_conntrack_l4proto
                     enum ip_conntrack_info *ctinfo,
                     int pf, unsigned int hooknum);
 
+       /* Print out the per-protocol part of the tuple. Return like seq_* */
+       int (*print_tuple)(struct seq_file *s,
+                          const struct nf_conntrack_tuple *);
+
+       /* Print out the private part of the conntrack. */
+       int (*print_conntrack)(struct seq_file *s, const struct nf_conn *);
+
        /* convert protoinfo to nfnetink attributes */
        int (*to_nlattr)(struct sk_buff *skb, struct nlattr *nla,
                         const struct nf_conn *ct);
@@ -87,6 +84,8 @@ struct nf_conntrack_l4proto
        struct ctl_table        *ctl_compat_table;
 #endif
 #endif
+       /* Protocol name */
+       const char *name;
 
        /* Module (if any) which this is connected to. */
        struct module *me;