Merge pull request #5043 from lioncash/net IOS/Network/IP/Top: Separate behaviors into their own functions