DIP: unifying network layer innovations using shared L3 core functions