There is a brief discussion of networking in FireSim/FireMarshal here:
https://groups.google.com/g/firesim/c/rRXW-jj3KwQ
There isn't really great documentation on the topic just yet though (we're working on it).
All of that is for generic networking (IceNIC is just a normal NIC for the most part). If you're interested in interfacing directly or using RDMA stuff, that's trickier. You can look at the Linux driver to figure out the basic protocol, but we don't use those features much these days so there might not be any good examples to follow.