Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 130197
b: refs/heads/master
c: 71be7a3
h: refs/heads/master
i:
  130195: 9cbf724
v: v3
  • Loading branch information
David S. Miller committed Jan 26, 2009
1 parent cff44a2 commit 389e018
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2fcbab044a3faf4d4a6e269148dd1f188303b206
refs/heads/master: 71be7a36026b25e17657ff8e4317837176bf8cfd
3 changes: 2 additions & 1 deletion trunk/drivers/net/virtio_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/virtio.h>
#include <linux/virtio_net.h>
#include <linux/scatterlist.h>
#include <linux/if_vlan.h>

static int napi_weight = 128;
module_param(napi_weight, int, 0444);
Expand All @@ -33,7 +34,7 @@ module_param(csum, bool, 0444);
module_param(gso, bool, 0444);

/* FIXME: MTU in config. */
#define MAX_PACKET_LEN (ETH_HLEN+ETH_DATA_LEN)
#define MAX_PACKET_LEN (ETH_HLEN + VLAN_HLEN + ETH_DATA_LEN)
#define GOOD_COPY_LEN 128

struct virtnet_info
Expand Down
8 changes: 6 additions & 2 deletions trunk/drivers/s390/net/lcs.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ static char debug_buffer[255];
static void lcs_tasklet(unsigned long);
static void lcs_start_kernel_thread(struct work_struct *);
static void lcs_get_frames_cb(struct lcs_channel *, struct lcs_buffer *);
#ifdef CONFIG_IP_MULTICAST
static int lcs_send_delipm(struct lcs_card *, struct lcs_ipm_list *);
#endif /* CONFIG_IP_MULTICAST */
static int lcs_recovery(void *ptr);

/**
Expand Down Expand Up @@ -1285,23 +1287,25 @@ lcs_register_mc_addresses(void *data)
lcs_clear_thread_running_bit(card, LCS_SET_MC_THREAD);
return 0;
}
#endif /* CONFIG_IP_MULTICAST */

/**
* function called by net device to
* handle multicast address relevant things
*/
static void
lcs_set_multicast_list(struct net_device *dev)
{
#ifdef CONFIG_IP_MULTICAST
struct lcs_card *card;

LCS_DBF_TEXT(4, trace, "setmulti");
card = (struct lcs_card *) dev->ml_priv;

if (!lcs_set_thread_start_bit(card, LCS_SET_MC_THREAD))
schedule_work(&card->kernel_thread_starter);
}

#endif /* CONFIG_IP_MULTICAST */
}

static long
lcs_check_irb_error(struct ccw_device *cdev, struct irb *irb)
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/net/sctp/checksum.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,5 @@ static inline __be32 sctp_update_cksum(__u8 *buffer, __u16 length, __be32 crc32)

static inline __be32 sctp_end_cksum(__be32 crc32)
{
return ~crc32;
return (__force __be32)~cpu_to_le32((__force u32)crc32);
}
1 change: 1 addition & 0 deletions trunk/net/key/af_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -1285,6 +1285,7 @@ static struct xfrm_state * pfkey_msg2xfrm_state(struct net *net,
ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1];
natt->encap_dport = n_port->sadb_x_nat_t_port_port;
}
memset(&natt->encap_oa, 0, sizeof(natt->encap_oa));
}

err = xfrm_init_state(x);
Expand Down
13 changes: 13 additions & 0 deletions trunk/net/sctp/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,19 @@ int sctp_rcv(struct sk_buff *skb)
*/
sctp_bh_lock_sock(sk);

if (sk != rcvr->sk) {
/* Our cached sk is different from the rcvr->sk. This is
* because migrate()/accept() may have moved the association
* to a new socket and released all the sockets. So now we
* are holding a lock on the old socket while the user may
* be doing something with the new socket. Switch our veiw
* of the current sk.
*/
sctp_bh_unlock_sock(sk);
sk = rcvr->sk;
sctp_bh_lock_sock(sk);
}

if (sock_owned_by_user(sk)) {
SCTP_INC_STATS_BH(SCTP_MIB_IN_PKT_BACKLOG);
sctp_add_backlog(sk, skb);
Expand Down
7 changes: 4 additions & 3 deletions trunk/net/sctp/output.c
Original file line number Diff line number Diff line change
Expand Up @@ -324,14 +324,16 @@ sctp_xmit_t sctp_packet_append_chunk(struct sctp_packet *packet,
switch (chunk->chunk_hdr->type) {
case SCTP_CID_DATA:
retval = sctp_packet_append_data(packet, chunk);
if (SCTP_XMIT_OK != retval)
goto finish;
/* Disallow SACK bundling after DATA. */
packet->has_sack = 1;
/* Disallow AUTH bundling after DATA */
packet->has_auth = 1;
/* Let it be knows that packet has DATA in it */
packet->has_data = 1;
if (SCTP_XMIT_OK != retval)
goto finish;
/* timestamp the chunk for rtx purposes */
chunk->sent_at = jiffies;
break;
case SCTP_CID_COOKIE_ECHO:
packet->has_cookie_echo = 1;
Expand Down Expand Up @@ -470,7 +472,6 @@ int sctp_packet_transmit(struct sctp_packet *packet)
} else
chunk->resent = 1;

chunk->sent_at = jiffies;
has_data = 1;
}

Expand Down
3 changes: 1 addition & 2 deletions trunk/net/sctp/outqueue.c
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,6 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
}

/* Finally, transmit new packets. */
start_timer = 0;
while ((chunk = sctp_outq_dequeue_data(q)) != NULL) {
/* RFC 2960 6.5 Every DATA chunk MUST carry a valid
* stream identifier.
Expand Down Expand Up @@ -1028,7 +1027,7 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
list_add_tail(&chunk->transmitted_list,
&transport->transmitted);

sctp_transport_reset_timers(transport, start_timer-1);
sctp_transport_reset_timers(transport, 0);

q->empty = 0;

Expand Down

0 comments on commit 389e018

Please sign in to comment.