# Valid IPv6 format
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Standard IPv6 format
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"2001:0db8:85a3:0000:0000:8a2e:0370:7334":16:"20010DB885A3000000008A2E03707334"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Omit unnecessary zeros
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"2001:db8:85a3:0:0:8a2e:370:7334":16:"20010DB885A3000000008A2E03707334"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Compress all 0 segments
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"2001:db8:85a3::8a2e:370:7334":16:"20010DB885A3000000008A2E03707334"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Double colon at the end
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"1::":16:"00010000000000000000000000000000"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Double colon at the beginning
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"::1":16:"00000000000000000000000000000001"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Uncompressed
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"0:0:0:0:0:0:0:1":16:"00000000000000000000000000000001"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 IPv6 with all zeros
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"0:0:0:0:0:0:0:0":16:"00000000000000000000000000000000"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 IPv6 with all zeros, compressed
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"::":16:"00000000000000000000000000000000"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 IPv4 mapping
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"::ffff:192.0.2.128":16:"00000000000000000000FFFFC0000280"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 IPv4 mapping long literal
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"0000:0000:0000:0000:0000:ffff:192.0.2.128":16:"00000000000000000000FFFFC0000280"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 IPv4 embedded maximum length
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255":16:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 IPv4 compatibility
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"::192.168.1.1":16:"000000000000000000000000C0A80101"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Capital letters
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"2001:1234:5678:9ABC:DEF0:1234:5678:9ABC":16:"2001123456789ABCDEF0123456789ABC"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Two parts are continuously 0, but only one can be compressed
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"::ffff:0:0":16:"00000000000000000000FFFF00000000"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001 Maximum
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff":16:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"

# Invalid IPv6 format
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 More than 8 segments
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:8a2e:370:7334:12:223:abc":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Less than 8 segments
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:0:8a2e:370":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 There is an extra colon at the end
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:0:8a2e:370:7334:":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 There is an extra colon at the beginning
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:":2001:db8:85a3::8a2e:370:7334":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Multiple double colons
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8::85a3::1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Multiple double colons
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3::8a2e:370:7334::":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 The number of digits in the segment exceeds 4
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:8a2e:370:7334:12345":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Illegal hexadecimal characters
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:0:8a2e:370:g734":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Illegal hexadecimal characters
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"::g":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Exactly 8 paragraphs, but with double colons
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3::8a2e:370:7334:1234:5678":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 IPv4 mapping, incorrect IPv4 format
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"::ffff:192.168.1.256":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 IPv4 mapping, incorrect IPv4 format
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"::ffff:192.168.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 IPv4 compatibility, incorrect IPv4 format
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"::192.168.1.1.":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Invalid character
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:0:8a2e:370:7334\x80":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains subnet mask
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:0:8a2e:370:7334/64":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains interface identifiers
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:db8:85a3:0:0:8a2e:370:7334%eth0":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains spaces
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001: db8:85a3:0:0:8a2e:370:7334":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Single colon
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:":":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Compress 0, extra colon
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:":::":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 8 segments of normal IPv6 with added IPv4
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"2001:0db8:85a3:0000:0000:8a2e:0370:7334:192.168.1.1":0

# Valid IPv4 address
SDV_BSL_SAL_IP_CHECK_FUNC_TC001
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"0.0.0.0":4:"00000000"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"1.1.1.1":4:"01010101"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"255.255.255.255":4:"FFFFFFFF"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"192.168.1.1":4:"C0A80101"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"127.0.0.1":4:"7F000001"
SDV_BSL_SAL_IP_CHECK_FUNC_TC001
SDV_BSL_SAL_IP_CHECK_FUNC_TC001:"192.168.0.100":4:"C0A80064"


# Invalid IPv4 address
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 The number is greater than 255
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"256.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 The number is greater than 255
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.256.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 The number of segments is less than 4
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"10":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 The number of segments is less than 4
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 The number of segments is greater than 4
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Empty segment
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1..1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Starting with a dot
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:".1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Starting with a dot
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"..1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Ending with a dot
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Illegal character
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"a.b.c.d":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Illegal character
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.1a":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains illegal character
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1,1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 NULL input
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains spaces
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"   ":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains spaces
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:" 1.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains spaces
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.1 ":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains spaces
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1. 1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 negative number
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"-1.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Leading 0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"01.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Leading 0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.01.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Hexadecimal format
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"0x10.0.0.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Scientific notation
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"+1.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Scientific notation
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1e0.1.1.1":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains line breaks
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.1\n":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Contains tabs
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.1\t":0
SDV_BSL_SAL_IP_CHECK_FUNC_TC002 Include carriage return
SDV_BSL_SAL_IP_CHECK_FUNC_TC002:"1.1.1.1\r":0