Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13340

add LCFG_ADD_UUIDv6 and related commands

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0
    • None
    • 9223372036854775807

    Description

      In order to configure IPv6 interfaces for Lustre, there needs to be new LCFG_ADD_UUIDv6, LCFG_DEL_UUIDv6, and possibly LCFG_ADD_CONNv6 and LCFG_DEL_CONNv6 configuration log records added to the system. Even with LU-10359 and LU-10360, mount.lustre will pass down an IPv6 address NID (in ASCII format) resolved in userspace to the kernel via the "mgsnode=<nid>[:<nid>]" mount option, and generate a synthetic configuration record(s) in lustre_start_mgc->do_node(LCFG_ADD_UUID) to establish the initial MGC connection.

      Later on, whether the config logs have LCFG_ADD_UUIDv6 records, or the target NIDs are passed via Imperative Recovery Target Status Table, the same do_node(LCFG_ADD_UUID) command will generate a configuration record to configure the interfaces.

      Rather than storing the IPv6 NIDs in the lcfg_nid field, since this is tied to the on-disk format of the lustre_cfg records and needs to be declared as an lnet_nid4_t, the LCFG_ADD_UUIDv6 record should store the NID in ASCII format in lcfg_buflens[1] and use libcfs_str2nid() in the kernel to convert it to a binary lnet_nid_t (presumably lnet_nid6_t at this point) to pass down to class_add_uuid().

      The class_add_uuid() function should be changed to take lnet_nid_t as an argument (as should anywhere else that is currently using __u64 for storing a NID).

      Attachments

        Issue Links

          Activity

            People

              simmonsja James A Simmons
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: