Lines Matching refs:pbd
524 void __v3_test_block_seq_num(struct block_desc *pbd) in __v3_test_block_seq_num() argument
526 if (__v3_prev_block_seq_num + 1 != pbd->h1.seq_num) { in __v3_test_block_seq_num()
530 (uint64_t) pbd->h1.seq_num); in __v3_test_block_seq_num()
534 __v3_prev_block_seq_num = pbd->h1.seq_num; in __v3_test_block_seq_num()
537 static void __v3_test_block_len(struct block_desc *pbd, uint32_t bytes, int block_num) in __v3_test_block_len() argument
539 if (pbd->h1.num_pkts && bytes != pbd->h1.blk_len) { in __v3_test_block_len()
542 pbd->h1.num_pkts, bytes, pbd->h1.blk_len); in __v3_test_block_len()
547 static void __v3_test_block_header(struct block_desc *pbd, const int block_num) in __v3_test_block_header() argument
549 if ((pbd->h1.block_status & TP_STATUS_USER) == 0) { in __v3_test_block_header()
554 __v3_test_block_seq_num(pbd); in __v3_test_block_header()
557 static void __v3_walk_block(struct block_desc *pbd, const int block_num) in __v3_walk_block() argument
559 int num_pkts = pbd->h1.num_pkts, i; in __v3_walk_block()
560 unsigned long bytes = 0, bytes_with_padding = ALIGN_8(sizeof(*pbd)); in __v3_walk_block()
563 __v3_test_block_header(pbd, block_num); in __v3_walk_block()
565 ppd = (struct tpacket3_hdr *) ((uint8_t *) pbd + in __v3_walk_block()
566 pbd->h1.offset_to_first_pkt); in __v3_walk_block()
585 __v3_test_block_len(pbd, bytes_with_padding, block_num); in __v3_walk_block()
589 void __v3_flush_block(struct block_desc *pbd) in __v3_flush_block() argument
591 pbd->h1.block_status = TP_STATUS_KERNEL; in __v3_flush_block()
599 struct block_desc *pbd; in walk_v3_rx() local
614 pbd = (struct block_desc *) ring->rd[block_num].iov_base; in walk_v3_rx()
616 while ((pbd->h1.block_status & TP_STATUS_USER) == 0) in walk_v3_rx()
619 __v3_walk_block(pbd, block_num); in walk_v3_rx()
620 __v3_flush_block(pbd); in walk_v3_rx()