From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerrit Renker Date: Wed, 21 Mar 2007 18:46:15 +0000 Subject: [PATCH 25/25]: Add test function for data packets Message-Id: <200703211846.15696@strip-the-willow> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: dccp@vger.kernel.org [DCCP]: Add test function for data packets This adds a function which returns `true' when an skb contains one of the packet types specified in [RFC 4340, 7.7] as `data packet'. NB - Resisted the temptation to define int dccp_non_data_packet(skb) { return !dccp_data_packet(skb); }, since maybe someone will define new packet types. Signed-off-by: Gerrit Renker --- net/dccp/dccp.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) --- a/net/dccp/dccp.h +++ b/net/dccp/dccp.h @@ -321,6 +321,7 @@ struct dccp_skb_cb { #define DCCP_SKB_CB(__skb) ((struct dccp_skb_cb *)&((__skb)->cb[0])) +/* RFC 4340, sec. 7.7 */ static inline int dccp_non_data_packet(const struct sk_buff *skb) { const __u8 type = DCCP_SKB_CB(skb)->dccpd_type; @@ -333,6 +334,17 @@ static inline int dccp_non_data_packet(c type = DCCP_PKT_SYNCACK; } +/* RFC 4340, sec. 7.7 */ +static inline int dccp_data_packet(const struct sk_buff *skb) +{ + const __u8 type = DCCP_SKB_CB(skb)->dccpd_type; + + return type = DCCP_PKT_DATA || + type = DCCP_PKT_DATAACK || + type = DCCP_PKT_REQUEST || + type = DCCP_PKT_RESPONSE; +} + static inline int dccp_packet_without_ack(const struct sk_buff *skb) { const __u8 type = DCCP_SKB_CB(skb)->dccpd_type;