Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)
  [NETPOLL]: Fix local_bh_enable() warning.
  [IPVS]: Make ip_vs_sync.c <= 80col wide.
  [IPVS]: Use msleep_interruptable() instead of ssleep() aka msleep()
  [HAMRADIO]: Fix baycom_epp.c compile failure.
  [DCCP]: Whitespace cleanups
  [DCCP] ccid3: Fixup some type conversions related to rtts
  [DCCP] ccid3: BUG-FIX - conversion errors
  [DCCP] ccid3: Reorder packet history source file
  [DCCP] ccid3: Reorder packet history header file
  [DCCP] ccid3: Make debug output consistent
  [DCCP] ccid3: Perform history operations only after packet has been sent
  [DCCP] ccid3: TX history - remove unused field
  [DCCP] ccid3: Shift window counter computation
  [DCCP] ccid3: Sanity-check RTT samples
  [DCCP] ccid3: Initialise RTT values
  [DCCP] ccid: Deprecate ccid_hc_tx_insert_options
  [DCCP]: Warn when discarding packet due to internal errors
  [DCCP]: Only deliver to the CCID rx side in charge
  [DCCP]: Simplify TFRC calculation
  [DCCP]: Debug timeval operations
  ...
  • Loading branch information
Linus Torvalds committed Dec 12, 2006
2 parents cd39301 + a49f99f commit 4259cb2
Show file tree
Hide file tree
Showing 30 changed files with 657 additions and 604 deletions.
6 changes: 2 additions & 4 deletions Documentation/networking/dccp.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ for real time and multimedia traffic.

It has a base protocol and pluggable congestion control IDs (CCIDs).

It is at experimental RFC status and the homepage for DCCP as a protocol is at:
It is at proposed standard RFC status and the homepage for DCCP as a protocol
is at:
http://www.read.cs.ucla.edu/dccp/

Missing features
Expand All @@ -34,9 +35,6 @@ The known bugs are at:
Socket options
==============

DCCP_SOCKOPT_PACKET_SIZE is used for CCID3 to set default packet size for
calculations.

DCCP_SOCKOPT_SERVICE sets the service. The specification mandates use of
service codes (RFC 4340, sec. 8.1.2); if this socket option is not set,
the socket will fall back to 0 (which means that no meaningful service code
Expand Down
2 changes: 1 addition & 1 deletion crypto/sha512.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

#define SHA384_DIGEST_SIZE 48
#define SHA512_DIGEST_SIZE 64
#define SHA384_HMAC_BLOCK_SIZE 96
#define SHA384_HMAC_BLOCK_SIZE 128
#define SHA512_HMAC_BLOCK_SIZE 128

struct sha512_ctx {
Expand Down
2 changes: 1 addition & 1 deletion drivers/atm/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
fore200e_mkfirm
fore200e_pca_fw.c
pca200e.bin

pca200e_ecd.bin2
2 changes: 1 addition & 1 deletion drivers/net/hamradio/baycom_epp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1177,7 +1177,7 @@ static void baycom_probe(struct net_device *dev)
dev->mtu = AX25_DEF_PACLEN; /* eth_mtu is the default */
dev->addr_len = AX25_ADDR_LEN; /* sizeof an ax.25 address */
memcpy(dev->broadcast, &ax25_bcast, AX25_ADDR_LEN);
memcpy(dev->dev_addr, &ax25_nocall, AX25_ADDR_LEN);
memcpy(dev->dev_addr, &null_ax25_address, AX25_ADDR_LEN);
dev->tx_queue_len = 16;

/* New style flags */
Expand Down
5 changes: 3 additions & 2 deletions drivers/net/wan/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ config SDLA

# Wan router core.
config WAN_ROUTER_DRIVERS
bool "WAN router drivers"
tristate "WAN router drivers"
depends on WAN && WAN_ROUTER
---help---
Connect LAN to WAN via Linux box.
Expand All @@ -393,7 +393,8 @@ config WAN_ROUTER_DRIVERS
<file:Documentation/networking/wan-router.txt>.

Note that the answer to this question won't directly affect the
kernel: saying N will just cause the configurator to skip all
kernel except for how subordinate drivers may be built:
saying N will just cause the configurator to skip all
the questions about WAN router drivers.

If unsure, say N.
Expand Down
26 changes: 13 additions & 13 deletions include/linux/dccp.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,20 +176,20 @@ enum {
};

/* DCCP features (RFC 4340 section 6.4) */
enum {
DCCPF_RESERVED = 0,
DCCPF_CCID = 1,
enum {
DCCPF_RESERVED = 0,
DCCPF_CCID = 1,
DCCPF_SHORT_SEQNOS = 2, /* XXX: not yet implemented */
DCCPF_SEQUENCE_WINDOW = 3,
DCCPF_SEQUENCE_WINDOW = 3,
DCCPF_ECN_INCAPABLE = 4, /* XXX: not yet implemented */
DCCPF_ACK_RATIO = 5,
DCCPF_SEND_ACK_VECTOR = 6,
DCCPF_SEND_NDP_COUNT = 7,
DCCPF_ACK_RATIO = 5,
DCCPF_SEND_ACK_VECTOR = 6,
DCCPF_SEND_NDP_COUNT = 7,
DCCPF_MIN_CSUM_COVER = 8,
DCCPF_DATA_CHECKSUM = 9, /* XXX: not yet implemented */
/* 10-127 reserved */
DCCPF_MIN_CCID_SPECIFIC = 128,
DCCPF_MAX_CCID_SPECIFIC = 255,
/* 10-127 reserved */
DCCPF_MIN_CCID_SPECIFIC = 128,
DCCPF_MAX_CCID_SPECIFIC = 255,
};

/* this structure is argument to DCCP_SOCKOPT_CHANGE_X */
Expand Down Expand Up @@ -427,7 +427,7 @@ struct dccp_service_list {
};

#define DCCP_SERVICE_INVALID_VALUE htonl((__u32)-1)
#define DCCP_SERVICE_CODE_IS_ABSENT 0
#define DCCP_SERVICE_CODE_IS_ABSENT 0

static inline int dccp_list_has_service(const struct dccp_service_list *sl,
const __be32 service)
Expand All @@ -436,7 +436,7 @@ static inline int dccp_list_has_service(const struct dccp_service_list *sl,
u32 i = sl->dccpsl_nr;
while (i--)
if (sl->dccpsl_list[i] == service)
return 1;
return 1;
}
return 0;
}
Expand Down Expand Up @@ -511,7 +511,7 @@ struct dccp_sock {
__u8 dccps_hc_tx_insert_options:1;
struct timer_list dccps_xmit_timer;
};

static inline struct dccp_sock *dccp_sk(const struct sock *sk)
{
return (struct dccp_sock *)sk;
Expand Down
8 changes: 6 additions & 2 deletions include/linux/tfrc.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,14 @@ struct tfrc_rx_info {
* @tfrctx_p: current loss event rate (5.4)
* @tfrctx_rto: estimate of RTO, equals 4*RTT (4.3)
* @tfrctx_ipi: inter-packet interval (4.6)
*
* Note: X and X_recv are both maintained in units of 64 * bytes/second. This
* enables a finer resolution of sending rates and avoids problems with
* integer arithmetic; u32 is not sufficient as scaling consumes 6 bits.
*/
struct tfrc_tx_info {
__u32 tfrctx_x;
__u32 tfrctx_x_recv;
__u64 tfrctx_x;
__u64 tfrctx_x_recv;
__u32 tfrctx_x_calc;
__u32 tfrctx_rtt;
__u32 tfrctx_p;
Expand Down
2 changes: 2 additions & 0 deletions include/net/ax25.h
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,8 @@ extern struct sock *ax25_make_new(struct sock *, struct ax25_dev *);
extern const ax25_address ax25_bcast;
extern const ax25_address ax25_defaddr;
extern const ax25_address null_ax25_address;
extern char *ax2asc(char *buf, const ax25_address *);
extern void asc2ax(ax25_address *addr, const char *callsign);
extern int ax25cmp(const ax25_address *, const ax25_address *);
extern int ax25digicmp(const ax25_digi *, const ax25_digi *);
extern const unsigned char *ax25_addr_parse(const unsigned char *, int,
Expand Down
2 changes: 1 addition & 1 deletion net/ax25/ax25_addr.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ EXPORT_SYMBOL(ax2asc);
*/
void asc2ax(ax25_address *addr, const char *callsign)
{
char *s;
const char *s;
int n;

for (s = callsign, n = 0; n < 6; n++) {
Expand Down
30 changes: 18 additions & 12 deletions net/core/netpoll.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,22 +242,28 @@ static void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)

/* don't get messages out of order, and no recursion */
if (skb_queue_len(&npinfo->txq) == 0 &&
npinfo->poll_owner != smp_processor_id() &&
netif_tx_trylock(dev)) {
/* try until next clock tick */
for (tries = jiffies_to_usecs(1)/USEC_PER_POLL; tries > 0; --tries) {
if (!netif_queue_stopped(dev))
status = dev->hard_start_xmit(skb, dev);
npinfo->poll_owner != smp_processor_id()) {
unsigned long flags;

if (status == NETDEV_TX_OK)
break;
local_irq_save(flags);
if (netif_tx_trylock(dev)) {
/* try until next clock tick */
for (tries = jiffies_to_usecs(1)/USEC_PER_POLL;
tries > 0; --tries) {
if (!netif_queue_stopped(dev))
status = dev->hard_start_xmit(skb, dev);

/* tickle device maybe there is some cleanup */
netpoll_poll(np);
if (status == NETDEV_TX_OK)
break;

udelay(USEC_PER_POLL);
/* tickle device maybe there is some cleanup */
netpoll_poll(np);

udelay(USEC_PER_POLL);
}
netif_tx_unlock(dev);
}
netif_tx_unlock(dev);
local_irq_restore(flags);
}

if (status != NETDEV_TX_OK) {
Expand Down
4 changes: 2 additions & 2 deletions net/dccp/ackvec.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ static inline int dccp_ackvec_set_buf_head_state(struct dccp_ackvec *av,
gap = -new_head;
}
new_head += DCCP_MAX_ACKVEC_LEN;
}
}

av->dccpav_buf_head = new_head;

Expand Down Expand Up @@ -336,7 +336,7 @@ int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk,
void dccp_ackvector_print(const u64 ackno, const unsigned char *vector, int len)
{
dccp_pr_debug_cat("ACK vector len=%d, ackno=%llu |", len,
(unsigned long long)ackno);
(unsigned long long)ackno);

while (len--) {
const u8 state = (*vector & DCCP_ACKVEC_STATE_MASK) >> 6;
Expand Down
10 changes: 0 additions & 10 deletions net/dccp/ccid.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ struct ccid_operations {
unsigned char* value);
int (*ccid_hc_rx_insert_options)(struct sock *sk,
struct sk_buff *skb);
int (*ccid_hc_tx_insert_options)(struct sock *sk,
struct sk_buff *skb);
void (*ccid_hc_tx_packet_recv)(struct sock *sk,
struct sk_buff *skb);
int (*ccid_hc_tx_parse_options)(struct sock *sk,
Expand Down Expand Up @@ -146,14 +144,6 @@ static inline int ccid_hc_rx_parse_options(struct ccid *ccid, struct sock *sk,
return rc;
}

static inline int ccid_hc_tx_insert_options(struct ccid *ccid, struct sock *sk,
struct sk_buff *skb)
{
if (ccid->ccid_ops->ccid_hc_tx_insert_options != NULL)
return ccid->ccid_ops->ccid_hc_tx_insert_options(sk, skb);
return 0;
}

static inline int ccid_hc_rx_insert_options(struct ccid *ccid, struct sock *sk,
struct sk_buff *skb)
{
Expand Down
12 changes: 6 additions & 6 deletions net/dccp/ccids/ccid2.c
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ static void ccid2_hc_tx_packet_sent(struct sock *sk, int more, unsigned int len)

while (seqp != hctx->ccid2hctx_seqh) {
ccid2_pr_debug("out seq=%llu acked=%d time=%lu\n",
(unsigned long long)seqp->ccid2s_seq,
(unsigned long long)seqp->ccid2s_seq,
seqp->ccid2s_acked, seqp->ccid2s_sent);
seqp = seqp->ccid2s_next;
}
Expand Down Expand Up @@ -473,7 +473,7 @@ static inline void ccid2_new_ack(struct sock *sk,
/* first measurement */
if (hctx->ccid2hctx_srtt == -1) {
ccid2_pr_debug("R: %lu Time=%lu seq=%llu\n",
r, jiffies,
r, jiffies,
(unsigned long long)seqp->ccid2s_seq);
ccid2_change_srtt(hctx, r);
hctx->ccid2hctx_rttvar = r >> 1;
Expand Down Expand Up @@ -518,8 +518,8 @@ static inline void ccid2_new_ack(struct sock *sk,
hctx->ccid2hctx_lastrtt = jiffies;

ccid2_pr_debug("srtt: %ld rttvar: %ld rto: %ld (HZ=%d) R=%lu\n",
hctx->ccid2hctx_srtt, hctx->ccid2hctx_rttvar,
hctx->ccid2hctx_rto, HZ, r);
hctx->ccid2hctx_srtt, hctx->ccid2hctx_rttvar,
hctx->ccid2hctx_rto, HZ, r);
hctx->ccid2hctx_sent = 0;
}

Expand Down Expand Up @@ -667,9 +667,9 @@ static void ccid2_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
/* new packet received or marked */
if (state != DCCP_ACKVEC_STATE_NOT_RECEIVED &&
!seqp->ccid2s_acked) {
if (state ==
if (state ==
DCCP_ACKVEC_STATE_ECN_MARKED) {
ccid2_congestion_event(hctx,
ccid2_congestion_event(hctx,
seqp);
} else
ccid2_new_ack(sk, seqp,
Expand Down
Loading

0 comments on commit 4259cb2

Please sign in to comment.