Table of Contents

How-to Setup DHCP for an IOC

References

Overview
The DHCP Server on MCCSRV01 and MCCSRV02 will be used to boot all LCLS EPICS IOC's on the LCLSCA Production Subnet.  To boot your production ioc via DHCP, follow the steps listed below.

Instructions

Step 1:
If your IOC is currently booted on the DMZ and you wish to use the same nodename, send a request to Ken Brobeck for a subnet change from the DMZ to the LCLSCA. Otherwise, skip to Step 2 below.

For existing nodenames on the DMZ, Ken has allocated new ip address on the LCLSCA subnet for your ioc. The new ip address will be chaned from your existing LCLSDMZ ip address of 134.79.151.xxx to to 172.27.9.xxx. Please note that the Domaine Name Server will not have your new ip address, until your request for a subnet change has been processed.  Skip to Step 5.

Step 2:
If you need to request a new nodename on the LCLSCA subnet, fill out a SLAC Nodename Request Form for each type of network device, and subnet this to Ken Brobeck. Please note that you CANNOT edit this form and save the contents. You will have to save this form in HTLM or PDF format, edit that form and send the saved content via email to Ken.

Step 3:
Send Ken Brobeck your nodename, MAC Address, filename, and init file.  (See examples below)

  •  Please note that we have RTEMS and Embedded IOC's that will boot via DHCP server, each with slightly different boot parameters.

Step 4:
When you get a new ip address, boot your ioc without DHCP, by setting the "Use BOOTP:" parameter to "N", indicating NO. See exeample below. If your boot is successful, proceed to the next step.

Step 5:
Boot your ioc with DHCP after Ken has updated the DHCP server. To do this, make sure that the "Use BOOTP" boot paramter on our ioc is set to "Y", for YES. If you want to boot with only some information provided in the DHCP file, then enter "P" for PARTIAL. If you encounter difficulty, contant Ken Brobeck.

Example of an RTEMS DHCP file for DHCP

group {
filename "mccfs2:/export/mccfs/usr/local:/lcls/rtems/rtems-4.9.1/target/ssrlApps/powerpc-rtems/beatnik/bin/rtems.exe";
option ntp-servers 134.79.151.12, 134.79.151.13;
host ioc-in20-rf01
{{}
fixed-address 172.27.11.24;
hardware ethernet 00:01:AF:17:3B:F5;
option uarg
"INIT=/boot/lcls/epics/iocCommon/LLRF/ioc-in20-rf01/startup.cmd";
option host-name "ioc-in20-rf01";
}

Use the pattern above to add entries for all eioc-rd and ioc- entries.

Example of the Embedded Coldfire IOC file for DHCP

group {
filename "mccfs2:/export/mccfs/usr/local:/lcls/rtems/rtems-4.9.1/target/ssrlApps/m68k-rtems/uC5282/bin/rtems.exe";
option ntp-servers 134.79.151.12, 134.79.151.13;
host eioc-in20-rd02
{{}
fixed-address 172.27.11.TBD;
hardware ethernet get-from-dmz-section
option uarg "INIT=/boot/lcls/epics/iocCommon/LLRF/eioc-in20-rd02/startup.cmd";
option host-name "eioc-in20-rd02";
}

Use the pattern above to add entries for all eioc-rd and eioc-rc entries.

Production on LCLSCA Subnet

Nodes on LCLSCA Subnet
Buildings with Access to LCLSCA Subnet (http://www.slac.stanford.edu/cgi-bin/qall?FILENAME=/afs/slac/g/scs/net/cando/subnet_bldgs.html&HEAD=10&SELECT1=^LCLSCA%20&HEADER=


  • Click%20on%20Bldg%20Nb%20for%20location%20information
  • Click%20on%20third%20column%20for%20table%20of%20Subnets%20in%20Building
  • Click%20on%20Bldg%20Description%20for%20count%20of%20computer%20desktops%20in%20building

    )

    Boot Host

    Subnet

    RTEMS Version

    mccfs2

    LCLSCA

    /usr/local/lcls/rtems/4.9.1

    LCLSCA Subnet

    Server IP Address

    172.27.8.11

    Default Gateway

    172.27.8.1

    Subnet Mask

    255.255.252.0

    DNS #1

    134.79.151.12

    NTP #1

    134.79.151.12

    My Network IF + media (LAN Speed)

    auto

    Use Bootp

    N

    Note: to use DHCP enter "Y" for instead of "N" for Use Bootp. For further instruction on setting up DHCP click here.

    /etc/hosts

    /etc/dfs/dfsta

    Boot Host

    NFS Disk

    Host

    Account (uid)

    Group (gid)

    uid.gid

    IOC Data

    mccfs2

    mccfs2

    lcls-prod05

    laci

    lcls

    8412.2211

    /u1/lcls/epics/ioc/data/<nodename>

    NFS Mounts

    File Systems

    nfsMount("8412.2211@172.27.8.11","/u1/lcls/epics/ioc/data/<nodename>","/data")

    SLC-Aware

    nfsMount("8412.2211@172.27.8.11","/u1/lcls/epics/slc","/slc")

    File

    Description

    Directory

    startup.cmd

    file your ioc boots. Generated automatically by ioc-release

    /usr/local/lcls/epics/iocCommon/<nodename>

    st.cmd

    EPICS startup script, called by startup.cmd

    /usr/local/epics/iocTop/<subsystem>/<subsystem cvs tag>/iocBoot/<nodename>

    pre_st.cmd

    Setup for RTMES IOC's, called by startup.cmd

    /usr/local/lcls/epics/iocCommon/All/Prod

    post_st.cmd

    Diagnostic infor for RTMES IOC's, called by startup.cmd

    /usr/local/lcls/epics/iocCommon/All/Prod

    EXAMPLE RTEMS Processor NVRAM Configuration

    To install only some boot parameters from DHCP, enter "P" rather than "Y" for the "User BootP:" query, to indicate that a Partial BootP is being requested.

    Cexp>nvramConfigShow()

    NVRAM configuration:
    Boot file (e.g., '/TFTP/1.2.3.4/path', '~rshuser/path' or 'nfshost:/dir:path'):
    >mccfs2:/usr/local:/lcls/rtems/rtems-4.7.1/target/ssrlApps/powerpc-rtems/beatnik/bin/rtems.exe
    Command line parameters:
    >INIT=/boot/lcls/epics/iocCommon/ioc-in20-mg01/startup.cmd
    Server IP: >172.27.8.11
    Gateway IP: >172.27.8.1
    My network IF + media (e.g., '100baseTX-full' '?' for help)
    >auto
    My IP: >172.27.11.14
    My netmask: >255.255.252.0
    My name: >ioc-in20-mg01
    My domain: >slac.stanford.edu
    Loghost IP: >
    DNS server 1: >134.79.151.11
    DNS server 2: >
    DNS server 3: >
    NTP server 1: >134.79.151.11
    NTP server 2: >
    NTP server 3: >
    Use BOOTP: Yes, No or Partial (-> file and
    command line from NVRAM) Y-N-P>Y
    Autoboot Delay: 0_.30secs (0==forever) >5

    Example of Embedded Coldfile NVRAM Configuration

  • No labels