Protect contentious transaction with a semaphore

The create_port request generates highly contentious
transactions to allocate an unique IP addresses updating
a single table. Locks work better than transactions to
handle contentions here.
The delete_port has the same issue.