Skip to content

Commit

Permalink
af-packet: TPACKET_V3 flexible buffer implementation.
Browse files Browse the repository at this point in the history
1) Blocks can be configured with non-static frame-size.
2) Read/poll is at a block-level(as opposed to packet-level).
3) Added poll timeout to avoid indefinite user-space wait on idle links.
4) Added user-configurable knobs:
   4.1) block::timeout.
   4.2) tpkt_hdr::sk_rxhash.

Changes:
C1) tpacket_rcv()
    C1.1) packet_current_frame() is replaced by packet_current_rx_frame()
          The bulk of the processing is then moved in the following chain:
          packet_current_rx_frame()
            __packet_lookup_frame_in_block
              fill_curr_block()
              or
                retire_current_block
                dispatch_next_block
              or
              return NULL(queue is plugged/paused)

Signed-off-by: Chetan Loke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
chetan loke authored and davem330 committed Aug 25, 2011
1 parent 0d4691c commit f6fb8f1
Showing 1 changed file with 891 additions and 46 deletions.
Loading

0 comments on commit f6fb8f1

Please sign in to comment.