IBM Support

Using API To Enable Proxy ARP

Troubleshooting


Problem

APAR SE19172 includes an API that allows a user to enable proxy ARP from command line versus using iSeries Navigator GUI.

Resolving The Problem

APAR SE19172 includes an API that allows a user to enable proxy ARP from command line versus using
iSeries Navigator GUI.

Following is an example for using the QTOCC4IF API. Once this CL program is created, pass the virtual IP
address as the parameter. This will turn proxy ARP on for that interface.

Example:

PGM        PARM(&VIPAIFC)                                    
             /* Declare the parameters passed into this module.        */  
             DCL        VAR(&VIPAIFC) TYPE(*CHAR) LEN(15)                
             /* Declare the variables for calling QTOCC4IF.            */  
             DCL        VAR(&IFCINF) TYPE(*CHAR) LEN(24)                  
             DCL        VAR(&FORMAT) TYPE(*CHAR) LEN(8) +                  
                          VALUE('IFCH0100')                                
             DCL        VAR(&ERRCODE) TYPE(*CHAR) LEN(8) +                
                          VALUE(X'0000000000000000')                      
             CHGVAR     VAR(%SST(&IFCINF 1 4)) VALUE(X'00000018')          
             CHGVAR     VAR(%SST(&IFCINF 5 15)) VALUE(&VIPAIFC)            
             CHGVAR     VAR(%SST(&IFCINF 20 1)) VALUE(X'00')              
             CHGVAR     VAR(%SST(&IFCINF 21 4)) VALUE(X'00000001')        
             /* Change the virtual IP interface to enable proxy ARP    */  
             CALL       PGM(QSYS/QTOCC4IF) PARM(&IFCINF &FORMAT +          
                          &ERRCODE)                                        
ENDPGM                                                             

QTOCC4IF API Information

The Change IPv4 Interface (QTOCC4IF) API is used to change selected parameters for an IPv4 interface that
is defined in the system's TCP/IP configuration.

Required Parameter Group

1 Interface information Input Char(*)
2 Format name Input Char(8)
3 Error code I/O Char(*)
Default Public Authority: *USE
Threadsafe: Yes
Authorities and Locks

The caller of this API must be running under a user profile that has input/output system configuration (*IOSYSCFG) special authority.
Required Parameter Group

Interface Information

INPUT; CHAR(*)
Contains the characteristics of the IPv4 interface being changed.

Format name

INPUT; CHAR(8)
The format of the interface information parameter. The format name supported is:

IFCH0100
Format for adding or changing an IPv4 interface parameter. For the format of the structure, see IFCH0100 Format.

Error code

I/O; CHAR(*)
The structure for returning error information. For the format of the structure, refer to Error Code Parameter documentation in the iSeries Information Center.
IFCH0100 Format

For detailed descriptions of the fields in this table, see Field Descriptions.

-------------------------------------------------------------        
|Offset     |           |                                   |        
|-----------|           |                                   |        
| Dec | Hex | Type      | Field                             |        
|-----|-----|-----------|-----------------------------------|        
| 0   | 0   | BINARY(4) | Length of fixed interface         |        
|     |     |           | information                       |        
|-----|-----|-----------|-----------------------------------|        
| 4   | 4   | CHAR(15)  | Internet address                  |        
|-----|-----|-----------|-----------------------------------|        
| 19  | 13  | CHAR(1)   | Reserved                          |        
|-----|-----|-----------|-----------------------------------|        
| 20  | 14  | BINARY(4) | Proxy ARP allowed                 |        
-------------------------------------------------------------       

Field Descriptions

Internet address. The IPv4 internet address, in dotted decimal notation, of an interface.

Length of fixed interface information. This field contains the number of bytes specified in the fixed portion of the interface information structure. The minimum value for this field is 24.

Proxy ARP allowed. This field applies to Opticonnect (*OPC) and Virtual Ethernet interfaces only. For those types of interfaces, this field indicates whether Proxy ARP (Address Resolution Protocol) has been configured to be allowed or not allowed.

0 NO - Proxy ARP not allowed.
1 YES - Proxy ARP allowed.
-1 The value does not change.

Reserved. A reserved field. This field must be set to zero.

Usage Notes

Typically, if an error is detected during the change operation, a diagnostic message will be sent to the job log. This diagnostic message will contain details about the error. The API will then either signal the error message TCP2658 or return TCP2658 in the error code structure.

Error Messages

Message ID Error Message Text
CPF3CF1 E Error code parameter not valid.
CPF3CF2 E Error(s) occurred during running of &1 API.
CPF9872 E Program or service program &1 in library &2 ended.
Reason code &3.
TCP2658 E &2 &1 not changed.
TCP923C E &1 special authority is required.
TCP923F E Value for parameter &2 for API &1 not valid.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"6.1.0"}]

Historical Number

409849287

Document Information

Modified date:
18 December 2019

UID

nas8N1015049