Rethinking Operating System Interfaces to Support Robust Network Applications