add L3 support
add assert statements to IP allocation