# opadisableports

(Linux) Accepts a CSV file listing links to disable. For each HFI-SW link, the switch side of the link is disabled. For each SW-SW link, the switch port closer to this node is disabled. This approach generally permits a future `opaenableports` operation to re-enable the port once the issue is corrected or ready to be retested. The list of disabled ports is tracked in /etc/opa/disabled*.csv.

## Syntax

    opadisableports [-R] [-h hfi] [-p port] [reason] < disable.csv

## Options

`--help`

  Produces full help text.

`-R`

  Does not attempt to get routes for computation of distance. Instead, it disables the port of the switch with the lower LID (which is often the side closest to the SM) assuming that it is closer to this node.

`-h hfi`

  Specifies the HFI, numbered 1..n. Using 0 specifies that the `-p port` port is a system-wide port number. Default is 0.

`-p port`

  Specifies the port, numbered 1..n. Using 0 specifies the first active port. Default is 0.

`reason`

  Specifies optional text describing why ports are being disabled. If used, text is saved in the reason field of the output file.

`disable.csv`

  Specifies the input file listing the links to disable. The list is of the form: `NodeGUID;PortNum;NodeType;NodeDesc;NodeGUID;PortNum; NodeType;NodeDesc;Reason`

  The `reason` field is optional. An input file such as this can be generated by using `opaextractbadlinks`, `opaextractmissinglinks`, or `opaextractsellinks`.

Information about the links disabled and the reason is saved (in the same format) to an output file named /etc/opa/disabled:hfi:port.csv where the `hfi:port` part of the file name is replaced by the HFI number and the port number being operated on (such as 1:1 or 2:1). This CSV file can be used as input to `opaenableports`.

## -h and -p options permit a variety of selections:

`-h 0`

  First active port in system (Default).

`-h 0 -p 0`

  First active port in system.

`-h x`

  First active port on HFI x.

`-h x -p 0`

  First active port on HFI x.

`-h 0 -p y`

  Port y within system (no matter which ports are active).

`-h x -p y`

  HFI x, port y.

## Examples

    opadisableports 'bad cable' < disable.csv
    opadisableports -h 1 -p 1 'dead servers' < disable.csv
    opaextractsellinks -F lid:3 | opadisableports 'bad server'
    opaextractmissinglinks -T /etc/opa/topology.0:0.xml | opadisableports