• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    SVN 3080: NIC Registration

    Scheduled Pinned Locked Moved Solved
    Bug Reports
    5
    33
    11.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Tom ElliottT
      Tom Elliott
      last edited by

      [code]# Get All Active MAC Addresses
      getMACAddresses()
      {
      IFS=$‘\n’
      # Create a pipe-separated MAC List
      for macline in $(ip addr | grep link/ether | awk ‘{print $2}’); do
      # Add a pipe before adding more MACs
      if [ -n “$mac” ]; then
      mac=$mac|
      fi
      mac=$macecho $macline;
      done
      IFS=
      echo $mac
      }[/code]

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

      1 Reply Last reply Reply Quote 0
      • cspenceC
        cspence Developer
        last edited by

        [quote=“Tom Elliott, post: 43618, member: 7271”]Oh, i do have a thought though.

        Using the generate our interfaces file on the fly method, I can add the e-polling capabilities of the kernel to use more proper methods of device management. This means not all devices will automatically have eth* names, but rather whatever the device is. Is there a simpler way without designating the specific devices to search for?[/quote]

        [CODE]# Set for loop delimiters to just newline
        IFS=$‘\n’

        Create a pipe-separated MAC list

        for macline in $(ip addr | grep link/ether)
        do
        # Add a pipe before adding more MACs
        if [ -n “$mac” ]; then
        mac=$mac|
        fi
        mac=$macecho $macline | xargs | cut -d ' ' -f 2
        done

        Reset delimiters

        IFS=[/CODE]

        I just realized I was doing a grep on link/ether so that doesn’t include lo. Enjoy!

        1 Reply Last reply Reply Quote 0
        • S
          Sebastian Roth Moderator
          last edited by

          Not using any extra ip tools … /sys/class/net/*/address …

          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

          1 Reply Last reply Reply Quote 0
          • cspenceC
            cspence Developer
            last edited by

            [code]# Get All Active MAC Addresses
            getMACAddresses()
            {
            IFS=$‘\n’
            # Create a pipe-separated MAC List
            for macline in $(ip addr | grep link/ether | awk ‘{print $2}’); do
            # Add a pipe before adding more MACs
            if [ -n “$mac” ]; then
            mac=$mac|
            fi
            mac=${mac}${macline};
            done
            IFS=
            echo $mac
            }[/code]

            Caught a bug with your final mac= statement. Also, “ip addr” is fine by itself.

            1 Reply Last reply Reply Quote 0
            • Tom ElliottT
              Tom Elliott
              last edited by

              yeah I saw and edited. The echo needs to occur there. and I am using just ip addr

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

              Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

              Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

              1 Reply Last reply Reply Quote 0
              • Tom ElliottT
                Tom Elliott
                last edited by

                [quote=“Uncle Frank, post: 43623, member: 28116”]Not using any extra ip tools … /sys/class/net/*/address …[/quote]

                We have to know the exact path name, so it’s simpler to just use the tools that get that for us I think.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                1 Reply Last reply Reply Quote 0
                • S
                  Sebastian Roth Moderator
                  last edited by

                  [quote=“Tom Elliott, post: 43626, member: 7271”]We have to know the exact path name, so it’s simpler to just use the tools that get that for us I think.[/quote]
                  I don’t think so…
                  [CODE]# Get All Active MAC Addresses
                  getMACAddresses()
                  {
                  IFS=$‘\n’
                  # Create a pipe-separated MAC List
                  for macline in $(cat /sys/class/net/*/address); do
                  # Add a pipe before adding more MACs
                  if [ -n “$mac” ]; then
                  mac=$mac|
                  fi
                  mac=${mac}${macline};
                  done
                  IFS=
                  echo $mac
                  }[/CODE]
                  No ip, no awk, no grep…

                  Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                  Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                  1 Reply Last reply Reply Quote 0
                  • S
                    Sebastian Roth Moderator
                    last edited by

                    And I still wonder, why do we need the IFS here??

                    Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                    Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                    1 Reply Last reply Reply Quote 0
                    • cspenceC
                      cspence Developer
                      last edited by

                      [quote=“Uncle Frank, post: 43627, member: 28116”]I don’t think so…
                      [CODE]# Get All Active MAC Addresses
                      getMACAddresses()
                      {
                      IFS=$‘\n’
                      # Create a pipe-separated MAC List
                      for macline in $(cat /sys/class/net/*/address); do
                      # Add a pipe before adding more MACs
                      if [ -n “$mac” ]; then
                      mac=$mac|
                      fi
                      mac=${mac}${macline};
                      done
                      IFS=
                      echo $mac
                      }[/CODE]
                      No ip, no awk, no grep…[/quote]

                      It grabs lo’s MAC. But I like where this is going…

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sebastian Roth Moderator
                        last edited by

                        [CODE]… cat /sys/class/net/???*/address …[/CODE] kind of hackish but…

                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                        1 Reply Last reply Reply Quote 0
                        • cspenceC
                          cspence Developer
                          last edited by

                          How low can we go?

                          [CODE]# Get All Active MAC Addresses
                          getMACAddresses()
                          {
                          lomac=00:00:00:00:00:00
                          cat /sys/class/net/*/address | grep -v $lomac | tr ‘\n’ ‘|’ | sed s/.$//g
                          }[/CODE]

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sebastian Roth Moderator
                            last edited by

                            sed, grep, tr and all the rest are very nice but we don’t really need them here, do we?
                            [CODE]… cat /sys/class/net/[^l][^o]*/address …[/CODE]

                            And still wondering about if ‘IFS’ is needed here. Sorry goto go now.

                            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                            1 Reply Last reply Reply Quote 0
                            • Tom ElliottT
                              Tom Elliott
                              last edited by

                              I like it

                              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                              Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                              Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                              1 Reply Last reply Reply Quote 0
                              • Tom ElliottT
                                Tom Elliott
                                last edited by

                                Uncle Frank, cspence’s means no loops either!

                                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                1 Reply Last reply Reply Quote 0
                                • cspenceC
                                  cspence Developer
                                  last edited by

                                  [quote=“Tom Elliott, post: 43634, member: 7271”]Uncle Frank, cspence’s means no loops either![/quote]

                                  Moments like these are why I love collaborating with others on code. Just a few suggestions and the code collapses to nothing.

                                  1 Reply Last reply Reply Quote 0
                                  • Wayne WorkmanW
                                    Wayne Workman
                                    last edited by

                                    [quote=“Uncle Frank, post: 43632, member: 28116”]
                                    [CODE]… cat /sys/class/net/[^l][^o]*/address …[/CODE]
                                    [/quote]

                                    What does that even mean?
                                    I know DOS and VB, some Oracle… That stuff is so foreign I feel like it’s terrorist related lol

                                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                                    Daily Clean Installation Results:
                                    https://fogtesting.fogproject.us/
                                    FOG Reporting:
                                    https://fog-external-reporting-results.fogproject.us/

                                    1 Reply Last reply Reply Quote 0
                                    • Tom ElliottT
                                      Tom Elliott
                                      last edited by

                                      lol
                                      it means to cat all directories EXCEPT those with l, then o (or in this case lo)

                                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Sebastian Roth Moderator
                                        last edited by

                                        [quote=“Tom Elliott, post: 43634, member: 7271”]Uncle Frank, cspence’s means no loops either![/quote]
                                        Ohhhhh yes, now I see! Shouldn’t work till very late as I seem to overlook things too often then…

                                        I’d vote for bash string manipulation…
                                        [CODE]# Get All Active MAC Addresses
                                        getMACAddresses()
                                        {
                                        macs=$(cat /sys/class/net/[^l][^o]*/address | tr ‘\n’ ‘|’)
                                        echo -n ${macs%$‘|’}
                                        }[/CODE]
                                        Just make sure we use BASH (not SH) because the terrorist style (lol) shell glob does not work with SH…

                                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                        1 Reply Last reply Reply Quote 0
                                        • ch3iC
                                          ch3i Moderator
                                          last edited by

                                          [quote=“Uncle Frank, post: 43632, member: 28116”]sed, grep, tr and all the rest are very nice but we don’t really need them here, do we?
                                          [CODE]… cat /sys/class/net/[^l][^o]*/address …[/CODE]

                                          And still wondering about if ‘IFS’ is needed here. Sorry goto go now.[/quote]

                                          Very usefull, I’ll use in my script !

                                          1 Reply Last reply Reply Quote 0
                                          • cspenceC
                                            cspence Developer
                                            last edited by

                                            I just gave SVN 3102 a shot. The new code does what it should, but only the first MAC is registered (no additional MACs are registered). I lucked out and had it register eth1 instead of eth0. That’s good for me, but maybe not for someone else.

                                            I don’t fully understand the inventory.php execution yet, but it must be only grabbing the first MAC and discards the rest.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            216

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project