inet: frags: enum the flag definitions and add descriptions
authorNikolay Aleksandrov <nikolay@redhat.com>
Fri, 1 Aug 2014 10:29:45 +0000 (12:29 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Aug 2014 22:31:31 +0000 (15:31 -0700)
Move the flags to an enum definion, swap FIRST_IN/LAST_IN to be in increasing
order and add comments explaining each flag and the inet_frag_queue struct
members.

Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_frag.h

index 5024d6c2040756c460eddfbe97d6b7bb75b4d79d..90015c47b447df0beec44b3c613ec0456dd64c01 100644 (file)
@@ -15,25 +15,49 @@ struct netns_frags {
        int                     low_thresh;
 };
 
+/**
+ * fragment queue flags
+ *
+ * @INET_FRAG_FIRST_IN: first fragment has arrived
+ * @INET_FRAG_LAST_IN: final fragment has arrived
+ * @INET_FRAG_COMPLETE: frag queue has been processed and is due for destruction
+ * @INET_FRAG_EVICTED: frag queue is being evicted
+ */
+enum {
+       INET_FRAG_FIRST_IN      = BIT(0),
+       INET_FRAG_LAST_IN       = BIT(1),
+       INET_FRAG_COMPLETE      = BIT(2),
+       INET_FRAG_EVICTED       = BIT(3)
+};
+
+/**
+ * struct inet_frag_queue - fragment queue
+ *
+ * @lock: spinlock protecting the queue
+ * @timer: queue expiration timer
+ * @list: hash bucket list
+ * @refcnt: reference count of the queue
+ * @fragments: received fragments head
+ * @fragments_tail: received fragments tail
+ * @stamp: timestamp of the last received fragment
+ * @len: total length of the original datagram
+ * @meat: length of received fragments so far
+ * @flags: fragment queue flags
+ * @max_size: (ipv4 only) maximum received fragment size with IP_DF set
+ * @net: namespace that this frag belongs to
+ */
 struct inet_frag_queue {
        spinlock_t              lock;
-       struct timer_list       timer;      /* when will this queue expire? */
+       struct timer_list       timer;
        struct hlist_node       list;
        atomic_t                refcnt;
-       struct sk_buff          *fragments; /* list of received fragments */
+       struct sk_buff          *fragments;
        struct sk_buff          *fragments_tail;
        ktime_t                 stamp;
-       int                     len;        /* total length of orig datagram */
+       int                     len;
        int                     meat;
-       __u8                    flags;    /* first/last segment arrived? */
-
-#define INET_FRAG_EVICTED      8
-#define INET_FRAG_COMPLETE     4
-#define INET_FRAG_FIRST_IN     2
-#define INET_FRAG_LAST_IN      1
-
+       __u8                    flags;
        u16                     max_size;
-
        struct netns_frags      *net;
 };