<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_iscsi_volume(self, port_id, initiator_iqn, initiator_dhcp=False, initiator_ip=None, initiator_netmask=None, target_dhcp=False, target_iqn=None, target_ip=None, target_port=3260, target_lun=0, boot_prio=1, chap_user=None, chap_secret=None, mutual_chap_secret=None):
 """Set iSCSI volume information to configuration. :param port_id: Physical port ID. :param initiator_iqn: IQN of initiator. :param initiator_dhcp: True if DHCP is used in the iSCSI network. :param initiator_ip: IP address of initiator. None if DHCP is used. :param initiator_netmask: Netmask of initiator as integer. None if DHCP is used. :param target_dhcp: True if DHCP is used for iSCSI target. :param target_iqn: IQN of target. None if DHCP is used. :param target_ip: IP address of target. None if DHCP is used. :param target_port: Port number of target. None if DHCP is used. :param target_lun: LUN number of target. None if DHCP is used, :param boot_prio: Boot priority of the volume. 1 indicates the highest priority. """


        initiator_netmask = (_convert_netmask(initiator_netmask)
                             if initiator_netmask else None)

        port_handler = _parse_physical_port_id(port_id)
        iscsi_boot = _create_iscsi_boot(
            initiator_iqn,
            initiator_dhcp=initiator_dhcp,
            initiator_ip=initiator_ip,
            initiator_netmask=initiator_netmask,
            target_dhcp=target_dhcp,
            target_iqn=target_iqn,
            target_ip=target_ip,
            target_port=target_port,
            target_lun=target_lun,
            boot_prio=boot_prio,
            chap_user=chap_user,
            chap_secret=chap_secret,
            mutual_chap_secret=mutual_chap_secret)

        port = self._find_port(port_handler)
        if port:
            port_handler.set_iscsi_port(port, iscsi_boot)
        else:
            port = port_handler.create_iscsi_port(iscsi_boot)
            self._add_port(port_handler, port)