We should sort IP addresses by their numerical value instead of their prettified string value. For example (based on T237300#6215030):
- string sorting results in this incorrect order 0:0:0:0:0:0:0:1 < 2a06:f500:1714:e8ac:e97:5d42:de10:989e < 192.168.121.1
- numerical sorting (with IPv6 prefixing) results in this correct order: 192.168.121.1 < 0:0:0:0:0:0:0:1 < 2a06:f500:1714:e8ac:e97:5d42:de10:989e
The tablesorter will sort table cells by their data-sort-value attribute if present, so we can set that attribute to contain a hexadecimal representation of the IP address. We can use IPUtils::toHex, which prefixes IPv6 addresses so they sort after IPv4 addresses.
- IPv4 addresses sort as smaller than IPv6 addresses
Note that IP addresses will not sort correctly until after T255693 is solved.