Basically the things that were suggested in the first response, i.e. offboard FIFO or RAM. You later stated the transfer could be several minutes but you
didn't specify if you need to retain the data for any purpose. If you did, then to store 2MBps*180sec is 360Mbytes of data.
That is too large for a FIFO ic, but some form of RAM could be used. A DSL router however would not store 360Mbytes of data, it would route the data.
If you want to do what a DSL router does, then you need a faster processor, and just sufficient memory to buffer, route and schedule the packets, not memory
to store the entire 360Mbyte file. DSL routers are calculating a checksum for packets that does not require buffering of the entire file.