dynamic port config