VIA Operation To transmit: User malloc()s memory buffer Memory pinned to RAM through ioctl() User constructs send descriptor User writes pointer to "Tx doorbell" (mapped from Myrinet SRAM) Board DMAs data and transmits To receive: User malloc()s memory buffer Memory pinned to RAM through ioctl() User constructs free-buffer descriptor User writes pointer to "Rx doorbell" Board obtains descriptor for later use User polls descriptor, or gets a signal