changes for ipv6

changes for ipv6
Does it make sense to have `sender4` and `sender6` instead of grouping them?  This would remove all ifs in the code.