From: Leandro <leandroal@gmail.com>
To: dccp@vger.kernel.org
Subject: [PATCH 10/25] Share ccid-3 options enum and struct via tfrc_ccids
Date: Thu, 01 Nov 2007 00:30:37 +0000 [thread overview]
Message-ID: <200710312130.37882.leandroal@gmail.com> (raw)
[CCID-3/4] Share ccid-3 options enum and struct via tfrc_ccids
Signed-off-by: Leandro Melo de Sales <leandro@embedded.ufcg.edu.br>
Index: leandro.new/net/dccp/ccids/ccid4.c
=================================--- leandro.new.orig/net/dccp/ccids/ccid4.c
+++ leandro.new/net/dccp/ccids/ccid4.c
@@ -416,7 +416,7 @@ static void ccid4_hc_tx_packet_sent(stru
static void ccid4_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
{
struct ccid4_hc_tx_sock *hctx = ccid4_hc_tx_sk(sk);
- struct ccid4_options_received *opt_recv;
+ struct tfrc_options_received *opt_recv;
ktime_t t_send, now;
unsigned long t_nfb;
u32 pinv, r_sample;
@@ -442,14 +442,14 @@ static void ccid4_hc_tx_packet_recv(stru
return;
}
- opt_recv = &hctx->ccid4hctx_options_received;
+ opt_recv = &hctx->tfrchctx_options_received;
/* Update receive rate in units of 64 * bytes/second */
- hctx->ccid4hctx_x_recv = opt_recv->ccid4or_receive_rate;
+ hctx->ccid4hctx_x_recv = opt_recv->tfrcor_receive_rate;
hctx->ccid4hctx_x_recv <<= 6;
/* Update loss event rate (which is scaled by 1e6) */
- pinv = opt_recv->ccid4or_loss_event_rate;
+ pinv = opt_recv->tfrcor_loss_event_rate;
if (pinv = ~0U || pinv = 0) /* see RFC 4342, 8.5 */
hctx->ccid4hctx_p = 0;
else /* can not exceed 100% */
@@ -540,17 +540,17 @@ static int ccid4_hc_tx_parse_options(str
int rc = 0;
const struct dccp_sock *dp = dccp_sk(sk);
struct ccid4_hc_tx_sock *hctx = ccid4_hc_tx_sk(sk);
- struct ccid4_options_received *opt_recv;
+ struct tfrc_options_received *opt_recv;
u32 opt_val;
- opt_recv = &hctx->ccid4hctx_options_received;
+ opt_recv = &hctx->tfrchctx_options_received;
- if (opt_recv->ccid4or_seqno != dp->dccps_gsr) {
- opt_recv->ccid4or_seqno = dp->dccps_gsr;
- opt_recv->ccid4or_loss_event_rate = ~0;
- opt_recv->ccid4or_loss_intervals_idx = 0;
- opt_recv->ccid4or_loss_intervals_len = 0;
- opt_recv->ccid4or_receive_rate = 0;
+ if (opt_recv->tfrcor_seqno != dp->dccps_gsr) {
+ opt_recv->tfrcor_seqno = dp->dccps_gsr;
+ opt_recv->tfrcor_loss_event_rate = ~0;
+ opt_recv->tfrcor_loss_intervals_idx = 0;
+ opt_recv->tfrcor_loss_intervals_len = 0;
+ opt_recv->tfrcor_receive_rate = 0;
}
switch (option) {
@@ -562,19 +562,19 @@ static int ccid4_hc_tx_parse_options(str
rc = -EINVAL;
} else {
opt_val = get_unaligned((u32 *)value);
- opt_recv->ccid4or_loss_event_rate = ntohl(opt_val);
+ opt_recv->tfrcor_loss_event_rate = ntohl(opt_val);
ccid4_pr_debug("%s(%p), LOSS_EVENT_RATE=%u\n",
dccp_role(sk), sk,
- opt_recv->ccid4or_loss_event_rate);
+ opt_recv->tfrcor_loss_event_rate);
}
break;
case TFRC_OPT_LOSS_INTERVALS:
- opt_recv->ccid4or_loss_intervals_idx = idx;
- opt_recv->ccid4or_loss_intervals_len = len;
+ opt_recv->tfrcor_loss_intervals_idx = idx;
+ opt_recv->tfrcor_loss_intervals_len = len;
ccid4_pr_debug("%s(%p), LOSS_INTERVALS=(%u, %u)\n",
dccp_role(sk), sk,
- opt_recv->ccid4or_loss_intervals_idx,
- opt_recv->ccid4or_loss_intervals_len);
+ opt_recv->tfrcor_loss_intervals_idx,
+ opt_recv->tfrcor_loss_intervals_len);
break;
case TFRC_OPT_RECEIVE_RATE:
if (unlikely(len != 4)) {
@@ -584,10 +584,10 @@ static int ccid4_hc_tx_parse_options(str
rc = -EINVAL;
} else {
opt_val = get_unaligned((u32 *)value);
- opt_recv->ccid4or_receive_rate = ntohl(opt_val);
+ opt_recv->tfrcor_receive_rate = ntohl(opt_val);
ccid4_pr_debug("%s(%p), RECEIVE_RATE=%u\n",
dccp_role(sk), sk,
- opt_recv->ccid4or_receive_rate);
+ opt_recv->tfrcor_receive_rate);
}
break;
}
Index: leandro.new/net/dccp/ccids/ccid4.h
=================================--- leandro.new.orig/net/dccp/ccids/ccid4.h
+++ leandro.new/net/dccp/ccids/ccid4.h
@@ -62,20 +62,6 @@
*/
#define CCID4HCTX_H 36
-enum ccid4_options {
- TFRC_OPT_LOSS_EVENT_RATE = 192,
- TFRC_OPT_LOSS_INTERVALS = 193,
- TFRC_OPT_RECEIVE_RATE = 194,
-};
-
-struct ccid4_options_received {
- u64 ccid4or_seqno:48,
- ccid4or_loss_intervals_idx:16;
- u16 ccid4or_loss_intervals_len;
- u32 ccid4or_loss_event_rate;
- u32 ccid4or_receive_rate;
-};
-
/* TFRC sender states */
enum ccid4_hc_tx_states {
TFRC_SSTATE_NO_SENT = 1,
@@ -123,7 +109,7 @@ struct ccid4_hc_tx_sock {
ktime_t ccid4hctx_t_nom;
u32 ccid4hctx_delta;
struct tfrc_tx_hist_head ccid4hctx_hist;
- struct ccid4_options_received ccid4hctx_options_received;
+ struct tfrc_options_received tfrchctx_options_received;
};
static inline struct ccid4_hc_tx_sock *ccid4_hc_tx_sk(const struct sock *sk)
Index: leandro.new/net/dccp/ccids/lib/tfrc_ccids.h
=================================--- leandro.new.orig/net/dccp/ccids/lib/tfrc_ccids.h
+++ leandro.new/net/dccp/ccids/lib/tfrc_ccids.h
@@ -31,3 +31,17 @@
#define TFRC_T_MBI 64
#endif /* _TFRC_CCIDS_H_ */
+
+enum tfrc_options {
+ TFRC_OPT_LOSS_EVENT_RATE = 192,
+ TFRC_OPT_LOSS_INTERVALS = 193,
+ TFRC_OPT_RECEIVE_RATE = 194,
+};
+
+struct tfrc_options_received {
+ u64 tfrcor_seqno:48,
+ tfrcor_loss_intervals_idx:16;
+ u16 tfrcor_loss_intervals_len;
+ u32 tfrcor_loss_event_rate;
+ u32 tfrcor_receive_rate;
+};
Index: leandro.new/net/dccp/ccids/ccid3.c
=================================--- leandro.new.orig/net/dccp/ccids/ccid3.c
+++ leandro.new/net/dccp/ccids/ccid3.c
@@ -390,7 +390,7 @@ static void ccid3_hc_tx_packet_sent(stru
static void ccid3_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
{
struct ccid3_hc_tx_sock *hctx = ccid3_hc_tx_sk(sk);
- struct ccid3_options_received *opt_recv;
+ struct tfrc_options_received *opt_recv;
ktime_t t_send, now;
unsigned long t_nfb;
u32 pinv, r_sample;
@@ -416,14 +416,14 @@ static void ccid3_hc_tx_packet_recv(stru
return;
}
- opt_recv = &hctx->ccid3hctx_options_received;
+ opt_recv = &hctx->tfrchctx_options_received;
/* Update receive rate in units of 64 * bytes/second */
- hctx->ccid3hctx_x_recv = opt_recv->ccid3or_receive_rate;
+ hctx->ccid3hctx_x_recv = opt_recv->tfrcor_receive_rate;
hctx->ccid3hctx_x_recv <<= 6;
/* Update loss event rate (which is scaled by 1e6) */
- pinv = opt_recv->ccid3or_loss_event_rate;
+ pinv = opt_recv->tfrcor_loss_event_rate;
if (pinv = ~0U || pinv = 0) /* see RFC 4342, 8.5 */
hctx->ccid3hctx_p = 0;
else /* can not exceed 100% */
@@ -514,17 +514,17 @@ static int ccid3_hc_tx_parse_options(str
int rc = 0;
const struct dccp_sock *dp = dccp_sk(sk);
struct ccid3_hc_tx_sock *hctx = ccid3_hc_tx_sk(sk);
- struct ccid3_options_received *opt_recv;
+ struct tfrc_options_received *opt_recv;
__be32 opt_val;
- opt_recv = &hctx->ccid3hctx_options_received;
+ opt_recv = &hctx->tfrchctx_options_received;
- if (opt_recv->ccid3or_seqno != dp->dccps_gsr) {
- opt_recv->ccid3or_seqno = dp->dccps_gsr;
- opt_recv->ccid3or_loss_event_rate = ~0;
- opt_recv->ccid3or_loss_intervals_idx = 0;
- opt_recv->ccid3or_loss_intervals_len = 0;
- opt_recv->ccid3or_receive_rate = 0;
+ if (opt_recv->tfrcor_seqno != dp->dccps_gsr) {
+ opt_recv->tfrcor_seqno = dp->dccps_gsr;
+ opt_recv->tfrcor_loss_event_rate = ~0;
+ opt_recv->tfrcor_loss_intervals_idx = 0;
+ opt_recv->tfrcor_loss_intervals_len = 0;
+ opt_recv->tfrcor_receive_rate = 0;
}
switch (option) {
@@ -536,19 +536,19 @@ static int ccid3_hc_tx_parse_options(str
rc = -EINVAL;
} else {
opt_val = get_unaligned((__be32 *)value);
- opt_recv->ccid3or_loss_event_rate = ntohl(opt_val);
+ opt_recv->tfrcor_loss_event_rate = ntohl(opt_val);
ccid3_pr_debug("%s(%p), LOSS_EVENT_RATE=%u\n",
dccp_role(sk), sk,
- opt_recv->ccid3or_loss_event_rate);
+ opt_recv->tfrcor_loss_event_rate);
}
break;
case TFRC_OPT_LOSS_INTERVALS:
- opt_recv->ccid3or_loss_intervals_idx = idx;
- opt_recv->ccid3or_loss_intervals_len = len;
+ opt_recv->tfrcor_loss_intervals_idx = idx;
+ opt_recv->tfrcor_loss_intervals_len = len;
ccid3_pr_debug("%s(%p), LOSS_INTERVALS=(%u, %u)\n",
dccp_role(sk), sk,
- opt_recv->ccid3or_loss_intervals_idx,
- opt_recv->ccid3or_loss_intervals_len);
+ opt_recv->tfrcor_loss_intervals_idx,
+ opt_recv->tfrcor_loss_intervals_len);
break;
case TFRC_OPT_RECEIVE_RATE:
if (unlikely(len != 4)) {
@@ -558,10 +558,10 @@ static int ccid3_hc_tx_parse_options(str
rc = -EINVAL;
} else {
opt_val = get_unaligned((__be32 *)value);
- opt_recv->ccid3or_receive_rate = ntohl(opt_val);
+ opt_recv->tfrcor_receive_rate = ntohl(opt_val);
ccid3_pr_debug("%s(%p), RECEIVE_RATE=%u\n",
dccp_role(sk), sk,
- opt_recv->ccid3or_receive_rate);
+ opt_recv->tfrcor_receive_rate);
}
break;
}
Index: leandro.new/net/dccp/ccids/ccid3.h
=================================--- leandro.new.orig/net/dccp/ccids/ccid3.h
+++ leandro.new/net/dccp/ccids/ccid3.h
@@ -39,20 +39,6 @@
#include "lib/tfrc_ccids.h"
#include "../ccid.h"
-enum ccid3_options {
- TFRC_OPT_LOSS_EVENT_RATE = 192,
- TFRC_OPT_LOSS_INTERVALS = 193,
- TFRC_OPT_RECEIVE_RATE = 194,
-};
-
-struct ccid3_options_received {
- u64 ccid3or_seqno:48,
- ccid3or_loss_intervals_idx:16;
- u16 ccid3or_loss_intervals_len;
- u32 ccid3or_loss_event_rate;
- u32 ccid3or_receive_rate;
-};
-
/* TFRC sender states */
enum ccid3_hc_tx_states {
TFRC_SSTATE_NO_SENT = 1,
@@ -100,7 +86,7 @@ struct ccid3_hc_tx_sock {
ktime_t ccid3hctx_t_nom;
u32 ccid3hctx_delta;
struct tfrc_tx_hist_head ccid3hctx_hist;
- struct ccid3_options_received ccid3hctx_options_received;
+ struct tfrc_options_received tfrchctx_options_received;
};
static inline struct ccid3_hc_tx_sock *ccid3_hc_tx_sk(const struct sock *sk)
next reply other threads:[~2007-11-01 0:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-01 0:30 Leandro [this message]
2007-11-01 12:26 ` [PATCH 10/25] Share ccid-3 options enum and struct via Tommi Saviranta
2007-11-04 1:16 ` [PATCH 10/25] Share ccid-3 options enum and struct via tfrc_ccids Ian McDonald
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200710312130.37882.leandroal@gmail.com \
--to=leandroal@gmail.com \
--cc=dccp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.