Whenever a new node gets created via the 'iscsiadm -m node -I <name>
-I <ifacename> -o new' command, the new iface net parameters doesn't
get populated to the created node automatically.

The bug is in the iface_copy routine where it only copies a portion
of the iface parameters.

Signed-off-by: Eddie Wai <[email protected]>
---
 usr/iface.c |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/usr/iface.c b/usr/iface.c
index 37840a9..730820c 100644
--- a/usr/iface.c
+++ b/usr/iface.c
@@ -532,10 +532,40 @@ void iface_copy(struct iface_rec *dst, struct iface_rec 
*src)
 {
        if (strlen(src->name))
                strcpy(dst->name, src->name);
+       if (src->iface_num)
+               dst->iface_num = src->iface_num;
        if (strlen(src->netdev))
                strcpy(dst->netdev, src->netdev);
        if (strlen(src->ipaddress))
                strcpy(dst->ipaddress, src->ipaddress);
+       if (strlen(src->subnet_mask))
+               strcpy(dst->subnet_mask, src->subnet_mask);
+       if (strlen(src->gateway))
+               strcpy(dst->gateway, src->gateway);
+       if (strlen(src->bootproto))
+               strcpy(dst->bootproto, src->bootproto);
+       if (strlen(src->ipv6_linklocal))
+               strcpy(dst->ipv6_linklocal, src->ipv6_linklocal);
+       if (strlen(src->ipv6_router))
+               strcpy(dst->ipv6_router, src->ipv6_router);
+       if (strlen(src->ipv6_autocfg))
+               strcpy(dst->ipv6_autocfg, src->ipv6_autocfg);
+       if (strlen(src->linklocal_autocfg))
+               strcpy(dst->linklocal_autocfg, src->linklocal_autocfg);
+       if (strlen(src->router_autocfg))
+               strcpy(dst->router_autocfg, src->router_autocfg);
+       if (src->vlan_id)
+               dst->vlan_id = src->vlan_id;
+       if (src->vlan_priority)
+               dst->vlan_priority = src->vlan_priority;
+       if (strlen(src->vlan_state))
+               strcpy(dst->vlan_state, src->vlan_state);
+       if (strlen(src->state))
+               strcpy(dst->state, src->state);
+       if (src->mtu)
+               dst->mtu = src->mtu;
+       if (src->port)
+               dst->port = src->port;
        if (strlen(src->hwaddress))
                strcpy(dst->hwaddress, src->hwaddress);
        if (strlen(src->transport_name))
-- 
1.7.7.4


-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.

Reply via email to