| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Update the COPYING file, with the whole GPLv2.0 license,
and a script that seems to have a notice, as well. Both
were outdated and had incorrect FSF addresses.
|
|
|
|
|
|
|
|
|
| |
The compare function is supposed to match the prototype:
int (*compar)(const void *, const void *)
so the function nic_cmp() was declared incorrectly, which
makes gcc much happier.
|
|
|
|
|
| |
I believe it was, at one time, used instead of fwparam_sysfs.c? But
it is not used at all now.
|
|
|
|
|
|
|
|
|
| |
The qedi offload iface does not have netdev associated with it.
Correctly get the transport_name from boot context.
iBFT and offload iface can rely on this method to get the
transport name.
Signed-off-by: Nilesh Javali <nilesh.javali@cavium.com>
|
|
|
|
|
|
| |
__compar_fn_t is not defined in musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* Use libopeniscsiusr for `iscsiadm -m session -P <0-3>` command.
* Use libopeniscsiusr for iSCSI session information used by
`iscsiadm -m node -H <host_no> -P <2 - 4>`command.
* Since `/sys/class/iscsi_session/session1/username` require root
permission, this patch require `iscsiadm` been ran with root
privilege.
Signed-off-by: Gris Ge <fge@redhat.com>
|
|
|
|
|
| |
The modern IP standard stresses the IP prefix length
rather than the mask, so track the IP prefix length.
|
|
|
|
|
|
|
| |
Add a script that logs into all iSCSI firmware
targets, and add a udev rule to call that script
when new targets are detected. Also, add a
man page for the script.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gcc compiler version 7.2.1 complains about possible string
overflow from prom_parse.y:
> prom_parse.tab.c: In function ‘yyparse’:
> prom_parse.y:98:25: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
> sprintf($$, "%s/%s", $<str>1, $<str>3);
> ^~~~~~~
So make the string buffer larger. Also, tell the compiler it is
ok if we truncate strings, since our buffer is very large. Lastly,
ensure we use strncpy() when copying strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gcc version 7.2.1 and linux-glibc-devel version 4.14
complain about _SVID_SOURCE, which is deprecated, so
use the replacement of _DEFAULT_SOURCE. The error
message looks like:
> In file included from /usr/include/ftw.h:25:0,
> from fwparam_sysfs.c:23:
> /usr/include/features.h:183:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
> # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
> ^~~~~~~
|
|
|
|
|
|
|
|
|
|
|
| |
Gcc version 7.2.1 complains about string formatting that
may be truncated, generating messages such as:
> fwparam_sysfs.c: In function ‘fwparam_sysfs_boot_info’:
> fwparam_sysfs.c:45:25: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 242 [-Wformat-truncation=]
> #define ISCSI_LLD_ROOT "/sys/firmware/"
Making the destination strings longer fixes this issue.
|
|\
| |
| | |
Add bnx2{,x} software initiator IBFT support
|
| |
| |
| |
| |
| | |
Move iscsistart offload discovery/setup from dump_targets()
(--fwparam_print) to fw_get_targets() (--fwparam_network).
|
|/ |
|
|
|
|
|
|
| |
A recent change, commit 4959a89f421fdebc, modified open-iscsi
to treat the "origin" field as an enum, not a character
string. But one spot was missed.
|
|
|
|
| |
quick fix changing trasnpot into transport
|
|
|
|
|
|
|
| |
Adds code to check for VLAN devices if the boot configuration specifies
a VLAN ID.
Does not create VLANs, they need to already be in place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi,
Debian is currently working on making the entire archive build
reproducibly. <https://reproducible-builds.org/> is a good
resource describing the motivation behind this effort.
There was one problem that was found in the open-iscsi package
build system that prevented builds from being reproducible:
the list of object files generated by the wildcard Makefile
function are not in a deterministic order, causing changes in
the output depending on the order in the underlying filesystem.
I've attached a patch against the current git master that
sorts the list of object files within the Makefile, making the
order deterministic and allowing reproducible builds to be
made. See also:
<https://reproducible-builds.org/docs/stable-inputs/>
It would be great if you could apply this patch upstream, so we
don't have to carry it in Debian.
Thanks!
Regards,
Christian
--
You received this message because you are subscribed to the Google Groups "open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscribe@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.
From a919d214d10870a54c6a5e383a19a6e82e5f8a54 Mon Sep 17 00:00:00 2001
From: Christian Seiler <christian@iwakd.de>
Date: Sat, 13 Feb 2016 00:56:19 +0100
Subject: [PATCH] Build system: sort object file lists
The object file list generated by the wildcard Makefile function is not
deterministic, because it may change depending on the underlying file
system.
Use the sort function to make the list deterministic in these cases, to
be able to build open-iscsi deterministically. See
<https://reproducible-builds.org/>
for further details.
Signed-off-by: Christian Seiler <christian@iwakd.de>
|
|
|
|
|
|
|
|
|
|
| |
This has open-iscsi stop shipping a copy of open-isns.
You can get the open-isns from the new isns maintainer, Lee Duncan,
from his github tree here:
https://github.com/gonzoleeman/open-isns/releases
Thanks to Lee and SUSE for taking this work on!
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the build systsem respect CFLAGS and LDFLAGS set from the outside.
Previously, OPTFLAGS could be set to alter CFLAGS (which were
overridden completely), but that is non-standard, so also check for
user-set CFLAGS. This will make life easier when packaging this for
distributions. If OPTFLAGS is set, prefer that to CFLAGS to retain the
old behavior in that case (and not break current builds).
Additionally, also use LDFLAGS for linking the binaries, which was not
respected at all previously.
|
|
|
|
|
|
| |
When filling in the target context for an iBFT target,
we were putting "flags" in target_flags, but then checking
nic_flags.
|
|
|
|
|
|
|
|
| |
Check the iBFT NIC and Target flags for valid boot.
Since some adapters correctly set Bit 0 and others
set Bit 1 for NICs, allow either value there.
Signed-off-by: Lee Duncan <lduncan@suse.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See IBFT standard for location of "origin" field in iBFT table,
and see MS document: http://msdn.microsoft.com/en-us/library/aa366281.aspx
for description of enums, duplicated here in part:
typedef enum {
IpPrefixOriginOther = 0,
IpPrefixOriginManual,
IpPrefixOriginWellKnown,
IpPrefixOriginDhcp,
IpPrefixOriginRouterAdvertisement,
IpPrefixOriginUnchanged = 16
} IP_PREFIX_ORIGIN;
|
| |
|
|
|
|
| |
Signed-off-by: Andy Grover <agrover@redhat.com>
|
|
|
|
| |
Signed-off-by: Andy Grover <agrover@redhat.com>
|
|
|
|
| |
Signed-off-by: Lee Duncan <lduncan@suse.com>
|
|
|
|
| |
Signed-off-by: Lee Duncan <lduncan@suse.com>
|
|
|
|
|
|
| |
Without this update to the isnsadm help message and
man page, it can be difficult to figure out how to
deregister a registered discovery domain.
|
|
|
|
|
|
|
|
|
|
|
| |
iBFT has an 'origin' field which indicates the origin of the
network address. If that is set to '3' it indicates that
DHCP has been used; there is no need to evaluate the 'dhcp'
field here.
In fact. latest iPXE sets the 'origin' field, but not the
'dhcp' field.
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch and description from Eddie Wai:
Three new session sysfs parameters are introduced:
boot_root - holds the ibft boot root folder name
boot_nic - holds the ibft boot ethernetN name
boot_target - holds the ibft boot targetN name
This patch copies over the /sys/firmware/<boot_root>/ethernetN/targetN
info
from the boot context to the node_rec.
Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
|
|
|
|
|
|
|
| |
This patch makes sure that when bnx2i/cxgb*i type of offload
engines are used for boot that the offload module gets loaded
and that we print the transport type when running iscsistart -f
or iscsiadm -m fw.
|
|
|
|
|
|
|
|
|
| |
The iSNS RFC files licenses are not compatible with some distros.
The files are also not needed since you can find these on the
internet in places like the IETF's website. They do not cost
money so it is just a matter of searching.
This patch removes the files.
|
|
|
|
|
|
|
| |
The address buffers are too short for many ipv6 addresses
and if ibft/firmware gives us a hostname. As a result iscsistart
and iscsiadm were printing/getting a truncated address which
would cause login and network startup to fail.
|
|
|
|
|
|
|
| |
We were still trying to bring in some openssl headers
for isns even though we are not using that code. This
adds some ugly ifdef code around it so we do not need
openssl at all.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Current status:
Using iscsiadm one cannot do any network configuration for qla4xxx
adapters.
However an iface is created for the qla4xxx ports using the hwaddress.
\# ls /etc/iscsi/ifaces/
iface.example iface0 qla4xxx.00:0e:1e:04:8b:2a
qla4xxx.00:0e:1e:04:8b:2e
This allows user to issue sendtargets via the qla4xxx iscsi offload.
2. Current Proposal:
Current proposal is to allow iscsiadm to configure the network settings
for qla4xxx ports.
This implementation is based on discussions at
- http://marc.info/?l=linux-scsi&m=127066184916180&w=2
- http://groups.google.com/group/open-iscsi/browse_thread/thread/d8e8c2df71c95d69/8f731d95d46141a0?lnk=gst&q=iscsi+hba#
2.1 Changes in iscsiadm/iscsid
2.1.1 Add a new event: ISCSI_UEVENT_SET_IFACE_PARAMS
2.1.2 New structure/enum to represent a single network parameter
- enum iscsi_net_param;
- struct iscsi_iface_param_info;
2.1.3 Added new parameters in iface
2.1.4 Change in operations
Add two new operations to iscsiadm
apply: Apply the single iface settings
applyall: Apply the iface settings of all iface having the same MAC
address
2.2 Changes in sysfs network representation
The new sysfs directory would look like this:-
/sys/class/iscsi_iface/-|
_______________________|
|
|- ipv4-iface-<host_no>-<iface_no>/ <-- for ipv4
|- bootproto
|- enabled
|- ipaddress
|- subnet
|- gateway
|- mtu
|- port
|- vlan
|- vlan_enabled
|- vlan_priority
|- ipv6-iface-<host_no>-<iface_no>/ <-- for ipv6
|- enabled
|- ipaddr_autocfg
|- ipaddress
|- link_local_addr
|- linklocal_autocfg
|- mtu
|- port
|- router_addr
|- vlan
|- vlan_enabled
|- vlan_priority
3. Flow:
3.1 User space code:
- If user specify --op=update, then just update the iface
config file
- If use specify --op=applyall then ifaces for the host
passed in.
and build up the net config buffer.
- Note: If --op is "apply" then only settings for single
iface is read,
the iface provided with -I option is only read.
- The net config buffer will look like this.
----------------------------------------------------------------|
| iscsi_net_param { |
| iface_num = 0; |
| len = 4; |
| param = ISCSI_NET_PARAM_IPV4_ADDR; |
| iface_type = ISCSI_IFACE_TYPE_IPV4; |
| param_type = ISCSI_NET_PARAM; |
| value[0] = ipaddress[0]; |
| value[1] = ipaddress[1]; |
| value[2] = ipaddress[2]; |
| value[3] = ipaddress[3]; |
| } |
----------------------------------------------------------------|
| iscsi_net_param { |
| iface_num = 0; |
| len = 4; |
| param = ISCSI_NET_PARAM_IPV4_GW; |
| iface_type = ISCSI_IFACE_TYPE_IPV4; |
| param_type = ISCSI_NET_PARAM; |
| value[0] = ipgateway[0]; |
| value[1] = ipgateway[1]; |
| value[2] = ipgateway[2]; |
| value[3] = ipgateway[3]; |
| } |
-----------------------------------------------------------------
| |
| iscsi_net_param { |
| iface_num = 1; |
| len = 4; |
| param = ISCSI_NET_PARAM_IPV4_ADDR; |
| iface_type = ISCSI_IFACE_TYPE_IPV4; |
| param_type = ISCSI_NET_PARAM; |
| value[0] = ipaddress[0]; |
| value[1] = ipaddress[1]; |
| value[2] = ipaddress[2]; |
| value[3] = ipaddress[3]; |
| } |
-----------------------------------------------------------------
-----------------------------------------------------------------
| iscsi_net_param { |
| iface_num = 0; |
| len = 4; |
| param = ISCSI_NET_PARAM_IPV4_GW; |
| iface_type = ISCSI_IFACE_TYPE_IPV4; |
| param_type = ISCSI_NET_PARAM; |
| value[0] = ipgateway[0]; |
| value[1] = ipgateway[1]; |
| value[2] = ipgateway[2]; |
| value[3] = ipgateway[3]; |
| } |
-----------------------------------------------------------------
| iscsi_net_param { |
| iface_num = 1; |
| len = 1; |
| param = ISCSI_NET_PARAM_IFACE_ENABLED; |
| iface_type = ISCSI_IFACE_TYPE_IPV4; |
| param_type = ISCSI_NET_PARAM; |
| offset = 0; |
| value[0] = 0; /* 0 = disable, default = 1 = enable */ |
| } |
-----------------------------------------------------------------
Each netconfig parameter has different size requirement for value field.
e.g.: IPv4 address requires 4 bytes, IPv6 address requires 16 bytes etc.
The memory allocated for each netconfig parameter is size of
iscsi_net_param + length required for that parameter.
The multiple IO Vector mechanism is used to send netconfig
parameter from user space to kernel using Netlink interface.
IO Vector 0 is used for Netlink message header.
IO Vector 1 is used for iSCSI User Event (ev).
- The ev will be sent down with event type =
ISCSI_UEVENT_SET_NET_CONFIG
IO Vector 2 onwards, each vector consists of the struct
iscsi_net_param
with parameter name followed by its value.
The total size will be addition of all the IO vector sizes.
3.2 Kernel space code:
- Once event is received, the buffer will look like struct
iscsi_net_param
with parameter name followed by its value, then next parameter
and
its value and so on.
- the scsi_transport_iscsi would call the adapter's
transport->set_net_config - In set_net_config each
individual param can be decoded and set into the
hardware.
4. qla4xxx configuration:
iscsid, creates the iface for qla4xxx, based on the hwaddress.
To display
the iface related to qla4xxx execute following
\# iscsiadm -m iface
qla4xxx.00:0e:1e:04:8b:2e
qla4xxx,00:0e:1e:04:8b:2e,<empty>,<empty>,<empty>
qla4xxx.00:0e:1e:04:8b:2e.ipv6
qla4xxx,00:0e:1e:04:8b:2e,<empty>,<empty>,<e
mpty>
qla4xxx.00:0e:1e:04:8b:2a
qla4xxx,00:0e:1e:04:8b:2a,20.15.0.66,<empty>,<emp
ty>
qla4xxx.00:0e:1e:04:8b:2a.ipv6
qla4xxx,00:0e:1e:04:8b:2a,2001:DB8:1111:2222::8888,<empty>,<empty>
qla4xxx.00:0e:1e:04:8b:2a.ipv6.1
qla4xxx,00:0e:1e:04:8b:2a,2001:DB8:4444:5555::9999,<empty>,<empty>
To setup network configuration there can be two methods
4. 1. User can manually modify the iface file, and issue an "apply"
command.
---------------------------------------------------------------------------
\#cat /etc/iscsi/ifaces/
iface.example iface0 qla4xxx.00:0e:1e:04:8b:2a
qla4xxx.00:0e:1e:04:8b:2e
Example:
\# cat qla4xxx.00:0e:1e:04:8b:2a
iface.iscsi_ifacename = qla4xxx.00:0e:1e:04:8b:2a
iface.transport_name = qla4xxx
iface.hwaddress = 00:0e:1e:04:8b:2a
iface.state = enable
iface.iface_num = 0 (default)
iface.bootproto = static
iface.ipaddress = 192.168.2.2 (decimal)
iface.subnetmask = 255.255.255.0 (decimal)
\# vi qla4xxx.00:0e:1e:04:8b:2a.ipv6
(If file does not exist, the one can create it)
iface.iscsi_ifacename = qla4xxx.00:0e:1e:04:8b:2a.ipv6
iface.transport_name = qla4xxx
iface.hwaddress = 00:0e:1e:04:8b:2a
iface.ipaddress = 1111:2222::7777:8888 (hex)
iface.iface_num = 0
\# iscsiadm -m iface -H 00:0e:1e:04:8b:2a --op=applyall
This will find the ifaces on the host with MAC address
00:0e:1e:04:8b:2a and apply the settings to the hardware..
Note, this will read all the iface belonging to the same MAC
address.
Note2, Instead of a MAC address the host number can be
passed in.
4.2. User can use iscsiadm to specify the values and then apply
--------------------------------------------------------------
\# ls /etc/iscsi/ifaces/
iface.example iface0 qla4xxx.00:0e:1e:04:8b:2a
qla4xxx.00:0e:1e:04:8b:2e
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a -o update
\
-n iface.ipaddress -v 192.168.1.2
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a -o update
\
-n iface.gateway -v 192.168.1.1
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a -o update
\
-n iface.subnet_mask -v 255.255.255.0
\# iscsiadm -m iface -H 00:0e:1e:04:8b:2a -o applyall
Setting up multiple IP:
First interface (default, no need to set iface_num, it is 0
by default)
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a -o update
\
-n iface.ipaddress -v 192.168.1.2
Create the second one if it does not exist
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a.1 -op=new
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a -o update
\
-n iface.iface_num -v 1 (Mandatory)
\# iscsiadm -m iface -I qla4xxx.00:0e:1e:04:8b:2a -o update
\
-n iface.ipaddress -v 192.168.1.3
\# iscsiadm -m iface -H 00:0e:1e:04:8b:2a --op=applyall
Note: If there are common settings for multiple interfaces
then the
settings from 0th iface would be considered valid.
Note: To apply settings for a single iface, just say
--op=apply
Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
Signed-off-by: Harish Zunjarrao <harish.zunjarrao@qlogic.com>
[formatting fixes and addition of host param for applyall]
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
|
|
|
|
|
|
| |
Unused symbols and type mis-matches.
Signed-off-by: Jim Ramsay <jim_ramsay@dell.com>
|
|
|
|
|
|
|
| |
A simple cast for the qsort comparison parameter, and an updated
prom_lex.c generated by flex-2.5.35
Signed-off-by: Jim Ramsay <jim_ramsay@dell.com>
|
|
|
|
|
|
| |
A slash was missing in the pathname producing nonexistent filenames
starting with "/sys/firmwareiscsi_boot5" instead of
"/sys/firmware/iscsi_boot5". Also see fwparam_sysfs_get_targets().
|
|
|
|
|
|
| |
For discovery we do not use the isns dsa code but
still build against libcrypto. This disables the code
until we add support.
|
|
|
|
|
|
|
|
|
| |
iscsiadm/iscsistart return a mix of type of returns codes.
Sometimes -1 and sometimes a EXYZ type of error code. This
patch has them return a ISCSI_ERR value.
See iscsiadm man page EXIT STATUS section for error
code definitions.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes 2 bugs:
1. Some implementations will create boot sysfs dirs, but
not put anything in them or partially setup the boot sysfs
tree.
In those cases, if there are other boot dirs with valid info
then we do not want to fail the entire operation.
2. The iscsi_boot dir was not getting processed correctly,
because of a missing "/" in the path name.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Mike Christie <mchristi@redhat.com>
If we are trying to send data, but get a POLLHUP we get
stuck in a endless loop. The problem is that the isns
socket handling for POLLHUP only clears the POLLIN bit, so
when we do this check:
/* No more input and output means closed&dead */
if (sock->is_state == ISNS_SOCK_IDLE
&& !(sock->is_poll_mask & (POLLIN|POLLOUT))) {
isns_debug_socket("connection closed by peer,
killing socket\n");
isns_net_close(sock, ISNS_SOCK_FAILED);
}
the POLLOUT bit is still set and we never are able to close the old
socket and reconnect a new one or fail or pass the status to the
caller.
This patch has the pollhup callout clear the POLLOUT bit.
|
|
|
|
|
| |
Rookie mistake. Forgot to git add the utils/fwparam_ibft/fwparam_sysfs.c
file for commit fe5cca505d6509dd67cefe85a96e0a4db6cedb4d
|
|
|
|
|
|
| |
This patch modifies the ibft sysfs code to support the
iscsi boot sysfs module which is used by be2iscsi to
export be2iscsi boot info.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MITRE CVE dictionary describes this issue as:
iscsi_discovery in open-iscsi in SUSE openSUSE 10.3 through 11.1 and
SUSE Linux Enterprise (SLE) 10 SP2 and 11 allows local users to
overwrite arbitrary files via a symlink attack on an unspecified
temporary file that has a predictable name.
Thanks to Colin Watson
Signed-off-by: Ritesh Raj Sarraf <rsarraf@netapp.com>
|
|
|
|
|
|
| |
Make configure script executable.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the following params to iscsid.conf
discovery.daemon.isns.addresses
discovery.daemon.isns.poll_interval
These work like SendTargets where if you the param iscsid will do
discovery and log into the portals found.
This also adds iSNS SCN support. Like the other code it only supports
login of new targets.
Some notes:
- It does not appear to work with the Microsoft iSNS server
shipping with Windows 2008 rc. I have not tested 2003.
The server does not seem to be sending any SCNs and at the
same time when we register for SCNs it tells us the operation
was successful. From the Microsoft docs it appears that
the server does not support SCN events.
- Linux-isns is not working with our code. The Linux-isns
code appears to be sending iSNS SCN pdus with an incorrect
format.
- It is working with open-isns.git.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the native isns code with open-isns's libisns.
I included the open-isns code in the open-iscsi tarball
to make distribution easier since some distros use different
isns clients and may not want to carry open-isns.
This is based on open-isns commit
5e09f36d3446e41de0b8361601ffec4cd140d513.
Changes in iSNS behavior/use:
- To do discovery you must pass the ip and optionally the
port to iscsiadm:
iscsiadm -m discovery -t st -p 10.15.0.9
This command accepts the same ops as sendtargets so you can
add/remove/update the node records that are created.
It also supports ifaces properly now.
- isns.address and isns.port in iscsid.conf are no longer
used.
- ESI is temporarily not supported. This will be fixed in the
next patch when SCNs support is added.
- The iscsiadm isns discovery command is not marked as stable.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
|
|
|
|
|
|
| |
This just breaks up the network part of the nic setup code
to a new function that lives in the net utils code, so it
can be used by other callers one day.
|