aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2007-12-06 09:27:15 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:56:40 -0500
commit2180c41ca5c1a36c67f4140e80154699333109d2 (patch)
tree77438292f56f848fea4cb44f097234a1f3c9acf7 /net/dccp
parentc40616c597bf02a2346cbf2f120283734b436245 (diff)
[DCCP]: Introduce generic function to test for `data packets'
as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r--net/dccp/dccp.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index ee97950d77d1..f4a5ea116e34 100644
--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -334,6 +334,7 @@ struct dccp_skb_cb {
334 334
335#define DCCP_SKB_CB(__skb) ((struct dccp_skb_cb *)&((__skb)->cb[0])) 335#define DCCP_SKB_CB(__skb) ((struct dccp_skb_cb *)&((__skb)->cb[0]))
336 336
337/* RFC 4340, sec. 7.7 */
337static inline int dccp_non_data_packet(const struct sk_buff *skb) 338static inline int dccp_non_data_packet(const struct sk_buff *skb)
338{ 339{
339 const __u8 type = DCCP_SKB_CB(skb)->dccpd_type; 340 const __u8 type = DCCP_SKB_CB(skb)->dccpd_type;
@@ -346,6 +347,17 @@ static inline int dccp_non_data_packet(const struct sk_buff *skb)
346 type == DCCP_PKT_SYNCACK; 347 type == DCCP_PKT_SYNCACK;
347} 348}
348 349
350/* RFC 4340, sec. 7.7 */
351static inline int dccp_data_packet(const struct sk_buff *skb)
352{
353 const __u8 type = DCCP_SKB_CB(skb)->dccpd_type;
354
355 return type == DCCP_PKT_DATA ||
356 type == DCCP_PKT_DATAACK ||
357 type == DCCP_PKT_REQUEST ||
358 type == DCCP_PKT_RESPONSE;
359}
360
349static inline int dccp_packet_without_ack(const struct sk_buff *skb) 361static inline int dccp_packet_without_ack(const struct sk_buff *skb)
350{ 362{
351 const __u8 type = DCCP_SKB_CB(skb)->dccpd_type; 363 const __u8 type = DCCP_SKB_CB(skb)->dccpd_type;