Host Route Added By MPROUTE Is Not Deleted When
Link Becomes Unavailable


 
 APAR Identifier ...... PQ53394      Last Changed ........ 01/10/22
 HOST ROUTE ADDED BY MPROUTE IS NOT DELETED WHEN LINK BECOMES
 UNAVAILABLE
 
 Symptom ...... IN INOUT             Status ........... CLOSED  PER
 Severity ................... 2      Date Closed ......... 01/10/18
 Component .......... 5735FAL00      Duplicate of ........
 Reported Release ......... 420      Fixed Release ............ 999
 Component Name TCP/IP V2 FOR V      Special Notice
 Current Target Date ..              Flags
 SCP ...................
 Platform ............
 
 Status Detail: SHIPMENT - Packaged solution is available for
                           shipment.
 
 PE PTF List:
 
 PTF List:
 Release 420   : UQ58936 available 01/10/22 (1000 )
 
 Parent APAR:    PQ51932
 Child APAR list:
 
 ERROR DESCRIPTION:
 Customer has two z/VM hosts -- VM01, a production system, and
 VM02, a test system.  When TCPIP is active on both systems,
 everything runs fine.  A NETSTAT GATE command issued on VM01
 shows two entries, where a (VIPA) OSA IP address for the VM02
 host is used as a gateway:
    . . .
 10.0.0.0     10.190.11.213  UG   1492 0.255.255.252 0.190.28.28
 10.190.28.29 10.190.11.213  UGH  1492 HOST
    . . .
 However, after a shutdown of TCP/IP on VM02, it appears the
 routing table for VM01 is not updated correctly -- customer
 still sees a route to the VIPA address (10.190.28.29) of VM02,
 when a NETSTAT GATE command is again issued on VM01:
    . . .
 10.190.28.29 10.190.11.213   UGH 1492 HOST
    . . .
 
 LOCAL FIX:
 
 PROBLEM SUMMARY:
 ****************************************************************
 * USERS AFFECTED: z/VM TCP/IP LEVEL 420 MPROUTE USERS          *
 ****************************************************************
 * PROBLEM DESCRIPTION: When a host route is added by MPROUTE,  *
 *                      and the link it uses goes down,         *
 *                      MPROUTE tells the stack to delete the   *
 *                      route from its tables, but the entry    *
 *                      is not deleted.                         *
 ****************************************************************
 * RECOMMENDATION: APPLY PTF                                    *
 ****************************************************************
 When MPROUTE sends the ioctl call to the stack to delete the
 host route, the subnetmask passed in by MPROUTE is
 255.255.255.255.  The stack uses a subnetmask of 0 for host
 routes.  When checking for a match, the subnetmask is
 compared.  Since they do not match, the stack indicates that
 it cannot find the route.  So the route is not deleted.
 
 PROBLEM CONCLUSION:
 In procedure DoMPRioctl, if CheckNetMask is on, then we need
 to verify that the subnetmask passed in by MPROUTE matches
 the one on the route we found.
 Since MPROUTE and the stack differ in their handling of HOST
 routes, a new check has been added for HOST routes.  A stack
 HOST route with subnetmask of 0 and an MPROUTE route with
 a subnetmask of 255.255.255.255 are considered a match.
 
 TEMPORARY FIX:
 
 COMMENTS:
 
 MODULES/MACROS:   TCIPDOW  TCPIP
 
 SRLS:      NONE
 
 RTN CODES:
 
 CIRCUMVENTION:
 
 MESSAGE TO SUBMITTER: