1. A method, comprising: for a first packet received by a network controller of a system comprising multiple processors: based on the magnitude of an Internet Protocol source address and an Internet Protocol destination address of the first packet, swapping values of the Internet Protocol source address and the Internet Protocol destination address; based on the magnitude of a source port and a destination port of the first packet, swapping values of the source port and the destination port; performing a first hash based, at least in part, on the swapped values of the Internet Protocol source address and the Internet Protocol destination address and on the swapped values of the source port and the destination port; determining a first processor from the multiple processors based on the performed first hash; and for a second packet received by the network controller: performing a second hash based, at least in part, on values of an Internet Protocol source address and an Internet Protocol destination address of the second packet and on values of a source port and a destination port of the second packet; and determining the same first processor from the multiple processors based on the performed second hash as the first processor determined based on the performed first hash; and wherein the second packet belongs to a same bidirectional connection as the first packet, wherein the destination address of the second packet is the source address of the first packet.