+/**
+ * Handle iSCSI TargetAddress text value
+ *
+ * @v iscsi iSCSI session
+ * @v value TargetAddress value
+ */
+static void iscsi_handle_targetaddress_value ( struct iscsi_session *iscsi,
+ const char *value ) {
+ struct in_addr address;
+ struct sockaddr_in *sin = ( struct sockaddr_in * ) &iscsi->tcp.peer;
+
+ if ( inet_aton ( value, &address ) == 0 ) {
+ DBG ( "iSCSI %p received invalid TargetAddress \"%s\"\n",
+ iscsi, value );
+ return;
+ }
+
+ DBG ( "iSCSI %p will redirect to %s\n", iscsi, value );
+ sin->sin_addr = address;
+}
+