Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/ethernet/rocker/rocker.c The rocker commit was two overlapping changes, one to rename the ->vport member to ->pport, and another making the bitmask expression use '1ULL' instead of plain '1'. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@ -704,6 +704,10 @@ static void prb_retire_rx_blk_timer_expired(unsigned long data)
|
||||
|
||||
if (pkc->last_kactive_blk_num == pkc->kactive_blk_num) {
|
||||
if (!frozen) {
|
||||
if (!BLOCK_NUM_PKTS(pbd)) {
|
||||
/* An empty block. Just refresh the timer. */
|
||||
goto refresh_timer;
|
||||
}
|
||||
prb_retire_current_block(pkc, po, TP_STATUS_BLK_TMO);
|
||||
if (!prb_dispatch_next_block(pkc, po))
|
||||
goto refresh_timer;
|
||||
@ -804,7 +808,11 @@ static void prb_close_block(struct tpacket_kbdq_core *pkc1,
|
||||
h1->ts_last_pkt.ts_sec = last_pkt->tp_sec;
|
||||
h1->ts_last_pkt.ts_nsec = last_pkt->tp_nsec;
|
||||
} else {
|
||||
/* Ok, we tmo'd - so get the current time */
|
||||
/* Ok, we tmo'd - so get the current time.
|
||||
*
|
||||
* It shouldn't really happen as we don't close empty
|
||||
* blocks. See prb_retire_rx_blk_timer_expired().
|
||||
*/
|
||||
struct timespec ts;
|
||||
getnstimeofday(&ts);
|
||||
h1->ts_last_pkt.ts_sec = ts.tv_sec;
|
||||
@ -1355,14 +1363,14 @@ static int packet_rcv_fanout(struct sk_buff *skb, struct net_device *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (fanout_has_flag(f, PACKET_FANOUT_FLAG_DEFRAG)) {
|
||||
skb = ip_check_defrag(skb, IP_DEFRAG_AF_PACKET);
|
||||
if (!skb)
|
||||
return 0;
|
||||
}
|
||||
switch (f->type) {
|
||||
case PACKET_FANOUT_HASH:
|
||||
default:
|
||||
if (fanout_has_flag(f, PACKET_FANOUT_FLAG_DEFRAG)) {
|
||||
skb = ip_check_defrag(skb, IP_DEFRAG_AF_PACKET);
|
||||
if (!skb)
|
||||
return 0;
|
||||
}
|
||||
idx = fanout_demux_hash(f, skb, num);
|
||||
break;
|
||||
case PACKET_FANOUT_LB:
|
||||
|
Reference in New Issue
Block a user