A computing device configured to process network packets in an agent-mesh architecture, the computing device comprising: a compute engine; and a network interface controller, NIC, having a packet processor communicatively coupled to a memory fabric of the NIC and a plurality of agents, wherein each of the plurality of agents are communicatively coupled to the memory fabric via a corresponding agent fabric interface of the memory fabric, wherein the NIC is configured to: write , by a network fabric interface of the memory fabric, a received network packet to the memory fabric in a distributed fashion; generate , by the network fabric interface, an event message indicating the received network packet has been received; send , by the network fabric interface, the generated event message to the packet processor via an agent fabric interface of the memory fabric associated with the packet processor; read , by the packet processor and in response to having received the generated event message, at least a portion of the received network packet from the memory fabric; identify , by the packet processor, an agent of the plurality of agents for additional processing of the received network packet as a function of the read portion of the received network packet; generate , by the packet processor, a network packet received event message indicating the received network packet is available for processing; and transmit , by the packet processor, the network packet received event message to the identified agent. a compute engine; and a network interface controller, NIC, having a packet processor communicatively coupled to a memory fabric of the NIC and a plurality of agents, wherein each of the plurality of agents are communicatively coupled to the memory fabric via a corresponding agent fabric interface of the memory fabric, wherein the NIC is configured to: write , by a network fabric interface of the memory fabric, a received network packet to the memory fabric in a distributed fashion; generate , by the network fabric interface, an event message indicating the received network packet has been received; send , by the network fabric interface, the generated event message to the packet processor via an agent fabric interface of the memory fabric associated with the packet processor; read , by the packet processor and in response to having received the generated event message, at least a portion of the received network packet from the memory fabric; identify , by the packet processor, an agent of the plurality of agents for additional processing of the received network packet as a function of the read portion of the received network packet; generate , by the packet processor, a network packet received event message indicating the received network packet is available for processing; and transmit , by the packet processor, the network packet received event message to the identified agent. write , by a network fabric interface of the memory fabric, a received network packet to the memory fabric in a distributed fashion; generate , by the network fabric interface, an event message indicating the received network packet has been received; send , by the network fabric interface, the generated event message to the packet processor via an agent fabric interface of the memory fabric associated with the packet processor; read , by the packet processor and in response to having received the generated event message, at least a portion of the received network packet from the memory fabric; identify , by the packet processor, an agent of the plurality of agents for additional processing of the received network packet as a function of the read portion of the received network packet; generate , by the packet processor, a network packet received event message indicating the received network packet is available for processing; and transmit , by the packet processor, the network packet received event message to the identified agent. <EOS>