IBM Support

How hexadecimal flags displayed by the "ifconfig -a" are calculated

General Page

The "ifconfig -a" displays the flags in hexadecimal (e.g. "1e084863,80480") and in alphabetical (e.g. UP, BROADCAST, NOTRAILERS etc.) format for each interface.  This document describes how the flag in hexadecimal is calculated.

Case 1:

AIX Level: 7100-05-01
ent0 Virtual I/O Ethernet Adapter (l-lan)
System Model: 8286-42A
System firmware: FW860.42

► en0 has mtu_bypass=off (i.e. largesend is disabled)

image-20190117135502-1

The flag in red box "1e084863" is calculated using bitwise OR operation of following flags.

#define IFF_UP          0x1                                                          /* interface is up */ 
#define IFF_BROADCAST   0x2                                             /* broadcast address valid */
#define IFF_NOTRAILERS  0x20                                          /* avoid use of trailers */
#define IFF_RUNNING     0x40                                             /* resources allocated */
#define IFF_SIMPLEX     0x800                                            /* can't hear own transmissions */
#define IFF_D2          0x4000                                                 /* Device health */                                  
#define IFF_MULTICAST   0x80000                                    /* supports multicast */
#define IFF_GROUP_ROUTING    0x2000000                  /* supports group routing */
#define IFF_64BIT       0x4000000                                      /* 64-bit safe */
#define IFF_BPF         0x8000000                                        /* bpf is supported for this IF */
#define IFF_CHECKSUM_OFFLOAD    0x10000000       /* Admin requests checksum offload.*/

The flag in blue box "80480" is calculated using bitwise OR operation of following flags.

#define IFO_PKTCHAIN  0x00000080                               /* packet chain support */
#define IFO_VIRTUAL_ETHERNET  0x00000400           /* Underlying adapter is Virtual Ethernet */
#define IFO_LARGESEND_PLATFORM  0x00080000    /* platform largesend support */

► en0 has mtu_bypass=on (i.e. largesend is enabled)

image-20190117135745-2

The flag in red box "1e084863" is calculated using bitwise OR operation of following flags.

#define IFF_UP          0x1                                                         /* interface is up */
#define IFF_BROADCAST   0x2                                             /* broadcast address valid */
#define IFF_NOTRAILERS  0x20                                          /* avoid use of trailers */
#define IFF_RUNNING     0x40                                             /* resources allocated */
#define IFF_SIMPLEX     0x800                                            /* can't hear own transmissions */
#define IFF_D2          0x4000                                                /* Device health */                                  
#define IFF_MULTICAST   0x80000                                    /* supports multicast */
#define IFF_GROUP_ROUTING    0x2000000                  /* supports group routing */
#define IFF_64BIT       0x4000000                                     /* 64-bit safe */
#define IFF_BPF         0x8000000                                       /* bpf is supported for this IF */
#define IFF_CHECKSUM_OFFLOAD    0x10000000      /* Admin requests checksum offload.*/

The flag in blue box "814c0" is calculated using bitwise OR operation of following flags.

#define IFO_LARGESEND  0x00000040                              /* largesend support */ 
#define IFO_PKTCHAIN  0x00000080                                  /* packet chain support */
#define IFO_VIRTUAL_ETHERNET  0x00000400             /* Underlying adapter is Virtual Ethernet */
#define IFO_LSO_IPV6  0x00001000                                   /* largesend support for ipv6 */
#define IFO_LARGESEND_PLATFORM  0x00080000     /* platform largesend support */          

Case 2:

AIX Level: 7100-05-01
ent0 Virtual NIC Client Adapter (vnic)
System Model: 8286-42A
System firmware: FW860.42

► en0 has mtu_bypass=off (i.e. largesend is disabled)

image-20190117140204-1

The flag in red box "1e084863" is calculated using bitwise OR operation of following flags.

#define IFF_UP          0x1                                                         /* interface is up */
#define IFF_BROADCAST   0x2                                             /* broadcast address valid */
#define IFF_NOTRAILERS  0x20                                          /* avoid use of trailers */
#define IFF_RUNNING     0x40                                             /* resources allocated */
#define IFF_SIMPLEX     0x800                                            /* can't hear own transmissions */
#define IFF_D2          0x4000                                                /* Device health */                                  
#define IFF_MULTICAST   0x80000                                    /* supports multicast */
#define IFF_GROUP_ROUTING    0x2000000                  /* supports group routing */
#define IFF_64BIT       0x4000000                                     /* 64-bit safe */
#define IFF_BPF         0x8000000                                       /* bpf is supported for this IF */
#define IFF_CHECKSUM_OFFLOAD    0x10000000      /* Admin requests checksum offload.*/

The flag in blue box "18c0" is calculated using bitwise OR operation of following flags.

#define IFO_PKTCHAIN  0x00000080                               /* packet chain support */
#define IFO_CSO_IPV6  0x00000800                                /* checksum offload support for ipv6 */

► en0 has mtu_bypass=on (i.e. largesend is enabled)

image-20190117141053-3

The flag in red box "1e084863" is calculated using bitwise OR operation of following flags.

#define IFF_UP          0x1                                                         /* interface is up */
#define IFF_BROADCAST   0x2                                             /* broadcast address valid */
#define IFF_NOTRAILERS  0x20                                          /* avoid use of trailers */
#define IFF_RUNNING     0x40                                             /* resources allocated */
#define IFF_SIMPLEX     0x800                                            /* can't hear own transmissions */
#define IFF_D2          0x4000                                                /* Device health */                                  
#define IFF_MULTICAST   0x80000                                    /* supports multicast */
#define IFF_GROUP_ROUTING    0x2000000                  /* supports group routing */
#define IFF_64BIT       0x4000000                                     /* 64-bit safe */
#define IFF_BPF         0x8000000                                       /* bpf is supported for this IF */
#define IFF_CHECKSUM_OFFLOAD    0x10000000      /* Admin requests checksum offload.*/

The flag in blue box "18c0" is calculated using bitwise OR operation of following flags.

#define IFO_LARGESEND  0x00000040                            /* largesend support */ 
#define IFO_PKTCHAIN  0x00000080                               /* packet chain support */
#define IFO_CSO_IPV6  0x00000800                                /* checksum offload support for ipv6 */
#define IFO_LSO_IPV6  0x00001000                                 /* largesend support for ipv6 */

Case 3:

AIX Level: 6100-09-11
ent0 PCIe2 4-Port Adapter (10GbE SFP+) (e4148a1614109304)
System Model: 8286-42A
System firmware: FW860.42

image-20190117134321-2

The flag in red box "1e084863" is calculated using bitwise OR operation of following flags.

#define IFF_UP          0x1                                                         /* interface is up */
#define IFF_BROADCAST   0x2                                             /* broadcast address valid */
#define IFF_NOTRAILERS  0x20                                          /* avoid use of trailers */
#define IFF_RUNNING     0x40                                             /* resources allocated */
#define IFF_SIMPLEX     0x800                                            /* can't hear own transmissions */
#define IFF_D2          0x4000                                                /* Device health */                                  
#define IFF_MULTICAST   0x80000                                    /* supports multicast */
#define IFF_GROUP_ROUTING    0x2000000                  /* supports group routing */
#define IFF_64BIT       0x4000000                                     /* 64-bit safe */
#define IFF_BPF         0x8000000                                       /* bpf is supported for this IF */
#define IFF_CHECKSUM_OFFLOAD    0x10000000      /* Admin requests checksum offload.*/

The flag in blue box "19c0" is calculated using bitwise OR operation of following flags.

#define IFO_LARGESEND  0x00000040                            /* largesend support */ 
#define IFO_PKTCHAIN  0x00000080                               /* packet chain support */
#define IFO_AACCT         0x00000100                                /* Advanced accounting is set on ifp */
#define IFO_CSO_IPV6  0x00000800                                /* checksum offload support for ipv6 */
#define IFO_LSO_IPV6  0x00001000                                /* largesend support for ipv6 */

Where to find the flags:

  • The flags and the related hexadecimal values are listed in /usr/include/net/if.h which ships with the fileset bos.adt.include.
  • The first hexadecimal number (before the comma) consists of the flags beginning with IFF while the second hexadecimal
     number (after the comma) consists of the flags beginning with IFO.

Conclusions:

  • Flag value in hexadecimal is not only simply bitwise OR of the alphabetic flags displayed between < > but covers  
     additional flags.
  • Flag value depends on AIX/VIOS level, type of adapter, adapter attributes such as largesend, checksum_offload etc.

    

Authors: Christian Haferkorn, Darshan Patel
Team: AIX Support
Operating System: AIX and VIOS
Hardware: Power
Feedback:
aix_feedback@wwpdl.vnet.ibm.com
                                      

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG10","label":"AIX"},"Component":"Network Communication","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
04 March 2019

UID

ibm10795239