HomeFreeBSD

cxgbe/tom: Add VIMAGE support to the TOE driver.

Description

cxgbe/tom: Add VIMAGE support to the TOE driver.

Active Open:

  • Save the socket's vnet at the time of the active open (t4_connect) and switch to it when processing the reply (do_act_open_rpl or do_act_establish).

Passive Open:

  • Save the listening socket's vnet in the driver's listen_ctx and switch to it when processing incoming SYNs for the socket.
  • Reject SYNs that arrive on an ifnet that's not in the same vnet as the listening socket.

CLIP (Compressed Local IPv6) table:

  • Add only those IPv6 addresses to the CLIP that are in a vnet associated with one of the card's ifnets.

Misc:

  • Set vnet from the toepcb when processing TCP state transitions.
  • The kernel sets the vnet when calling the driver's output routine so t4_push_frames runs in proper vnet context already. One exception is when incoming credits trigger tx within the driver's ithread. Set the vnet explicitly in do_fw4_ack for that case.

MFC after: 3 days
Sponsored by: Chelsio Communications

Details

Provenance
npAuthored on
Parents
rS311948: rtwn: fix R92C_TXDW4_RTSRATE_M definition (0x3f -> 0x1f)
Branches
Unknown
Tags
Unknown