def _read_opt_home(self, code, *, desc):
_type = self._read_opt_type(code)<EOL>_size = self._read_unpack(<NUM_LIT:1>)<EOL>if _size != <NUM_LIT:16>:<EOL><INDENT>raise ProtocolError(f'<STR_LIT>')<EOL><DEDENT>_addr = self._read_fileng(<NUM_LIT:16>)<EOL>opt = dict(<EOL>desc=desc,<EOL>type=_type,<EOL>length=_size + <NUM_LIT:2>,<EOL>ip=ipaddress.ip_address(_addr),<EOL>)<EOL>return opt<EOL>
Read HOPOPT Home Address option.

        Structure of HOPOPT Home Address option [RFC 6275]:
             0                   1                   2                   3
             0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                            |  Option Type  | Option Length |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                                                               |
            +                                                               +
            |                                                               |
            +                          Home Address                         +
            |                                                               |
            +                                                               +
            |                                                               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Octets      Bits        Name                        Description
              0           0     hopopt.home.type            Option Type
              0           0     hopopt.home.type.value      Option Number
              0           0     hopopt.home.type.action     Action (11)
              0           2     hopopt.home.type.change     Change Flag (0)
              1           8     hopopt.home.length          Length of Option Data
              2          16     hopopt.home.ip              Home Address