|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NETBK *NETWORK Request Block
0000 0 Signed 4 NETEYEC Block Eye Catcher '*NET'
0004 4 Signed 2 NETRSIZ Fix Header Size
0006 6 Signed 2 NETOPER Operation Code
00000000 NETOP000 0 NETOP000 Verify MAC Prefix
Request
00000001 NETOP001 1 NETOP001 MAC Address Request
00000002 NETOP002 2 NETOP002 MAC Table SYNC Request
00000003 NETOP003 3 NETOP003 Verify Ensemble Data
0008 8 Bitstring 1 NETFMT *NETWORK Operation Code Format
00000000 NETFMT0 0 NETFMT0 Format 0 *NETWORK
Request
0009 9 Bitstring 1 * (3) Reserved for Future IBM Use
Request or Transaction ID
Every *NETWORK SEND request will have a one word unique
ID to identify a specific instance of an operation code
request. The first halfword of the ID indicates the
SSI slot number of the issuing z/VM image and the
remaining halfword contains a sequence number. The
sequence number is incremented by one for each new
**NETWORK request.
000C 12 Signed 4 NETREQID (0) Request ID Word
000C 12 Signed 2 NETSYS Issuing System's SSI Slot
000E 14 Signed 2 NETSEQ# Sequence Number for Request
0010 16 Dbl-Word 8 * (2) Reserved for Future IBM Use
Fixed Header REPLY Section
REPLY Return Code
Reply return codes 0 to x'FF' are common for all
operation codes. Codes x'100' and up are operation code
specific return codes. The codes from x'100' and up are
mapped in the DSECT for the operation code.
0020 32 Signed 2 NETRC REPLY Return Code
00000000 NETRNONE 0 NETRNONE No response
00000001 NETR_YES 1 NETR_YES Affirmative Response
00000002 NETR_NO 2 NETR_NO Negative Response
0022 34 Signed 2 * Reserved for Future IBM Use
SEND_REPLY ID
When a *NETWORK task replies to a SEND_REQUEST from
another z/VM image, the transaction ID from the
initiating system's (NETREQID) transaction ID will be
returned here. This allows the issuing system to
correlate a REPLY to a specific SEND_REQUEST it issued.
0024 36 Signed 4 NETRPYID (0) Reply ID Word
0024 36 Signed 2 NETRSYS Originating systems SSI Slot
0026 38 Signed 2 NETRSEQ# Originating systems Sequence
Number
0028 40 Dbl-Word 8 * (3) Reserved for Future IBM Use
Start of Operation Code Specific Area
0040 64 Bitstring 1 NETOPBLK (0) Start of Operation Request BLK
0040 64 Bitstring 1 NET$END (0) The end
***
*** Operation Control Blocks
***
***
NE0BK Operation Code x'0000' Verify MAC Prefix Request
Function :
To insure each system member of a SSI can generate
a unique MAC Address, the customer must setup the
appropriate MAC Service's VMLAN definitions. This
*NETWORK request will verify this system's MACPREFIX
and USERPREFIX settings follow the rules before
allowing it to become an active member of the SSI.
The Verify MAC Prefix request will send this system's
current MACPREFIX and USERPREFIX to all SSI
members. The SSI members receiving this request
will verify that the MACPREFIX in the request doesn't
match their MACPREFIX and the USERPREFIX does match
their setting. If both MAC prefix values are
acceptable, then an affirmative reply will be returned
to this system. Otherwise a negative reply is
returned.
Operation Code Specific Return Codes: None
Format: 0
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NE0BK *NETWORK Request Block
0000 0 Bitstring 40 NE0AREA Define entire SEND/REPLY Area
0028 40 Bitstring 1 NE0$END (0) The end
Source System's MACPREFIX Value
0000 0 Bitstring 3 NE0CPMAC System's MAC Prefix
0003 3 Bitstring 1 * Reserved for future IBM use
Source System's USERPREFIX Value
0004 4 Bitstring 3 NE0USMAC Prefix for User Defined MACs
0007 7 Bitstring 1 * Reserved for future IBM use
0008 8 Dbl-Word 8 * (4) Reserved for Future IBM Use
Target System's MACPREFIX Value
0000 0 Bitstring 3 NE0RCMAC REPLY System's MAC Prefix
0003 3 Bitstring 1 NE0RC_CP System MAC Return Code
00000000 NETRNONE 0 NETRNONE No response
00000001 NETR_YES 1 NETR_YES Affirmative Response
00000002 NETR_NO 2 NETR_NO Negative Response
Target System's USERPREFIX Value
0004 4 Bitstring 3 NE0RUMAC REPLY Systems User MAC Prefix
0007 7 Bitstring 1 NE0RC_US User MAC Return Code
00000000 NETRNONE 0 NETRNONE No response
00000001 NETR_YES 1 NETR_YES Affirmative Response
00000002 NETR_NO 2 NETR_NO Negative Response
Target System's ISFC Distribution Parameters
0008 8 Bitstring 1 NE0IDIST ISFC Distribution Properties
00000080 SYSIUYES X'80' SYSIUYES Distributed IUCV
supported
00000040 SYSIUTOL X'40' SYSIUTOL Distributed IUCV
tolerated
0009 9 Bitstring 1 * Reserved for future IBM use
Target System's Maximum Distributed IUCV Send Size (Megs)
000A 10 Signed 2 NE0IUCV Maximum IUCV Send Size
000C 12 Signed 4 * Reserved for future IBM use
0010 16 Dbl-Word 8 * (3) Reserved for future IBM use
00000001 NE0BUFFS 1 Number of buffers for request
NE1BK Operation Code x'0001' MAC Address Request
Function : *NETWORK Request which will perform one of the
following functions:
1) Verify MAC Address Request
A "Verify MAC Address Request" multicast is sent to
all other JOINED members of a SSI prior to
assigning a MAC Address for a network device. The
receiving SSI member{s} will check to see if the
specified MAC Address in the SEND_REQUEST is in use
on their system. If the MAC Address is not found,
an affirmative respones via a SEND_REPLY is returned
in the response area of common *NETWORK header
indicating the address is not in use. An unanimous
affirmative response from all the active members
will allow the issuing system to network device to
be defined, attached to a guest or the Diagnose x26C
Subcode 30 MAC Service to complete successfully.
Conversely a negative response from any system will
prevent the network device from being added to the
guest's virtual configuration.
Optional Prefix Check (NE1FLAGS.NE1PFXCK = ON)
***************------
If NE1FLAGS.NE1PFXCK is ON, then an additional MAC
PREFIX check will be performed by each SSI member.
In addition to testing whether the specified 6
byte MAC Address is allocated, it will also verify
that the MAC PREFIX (first 3 bytes of the MAC
Address) doesn't match its currently set SYSTEM,
USER or ENSEMBLE PREFIX settings. If the MAC
PREFIX is the same as an SSI Member, that member
will return a negative response. This test is
necessary in order to verify a 6 byte explicit
user MAC Address assignment by a customer or guest
will never conflict with a system MAC assigned by
any SSI member.
2) Release MAC Request
A "Release MAC Request" multicast will be sent from
an active SSI member to all other active members
when it is done using a foreign assigned MAC on his
system. This will allow the system image which
created (owns) the MAC Address to mark it as
available for reuse in his Assigned MAC MLT.
When a system receives a "Release Foreign MAC
Request", it will verify the user which owns the MAC
Address is not locally owned prior to removing the
MAC from his Assigned MAC MLT. This prevents the
MAC Address from being removed when a release
request occurs in the middle of a live guest
migration. If the migration fails fails, the guest
will not be relocated and it will remain running.
Notes : The receiving system will NOT REPLY to this
request with a SEND_REPLY.
3) Confirm MAC Address Allocation
A "Confirm MAC Address Allocation" multicast is sent
out by this system to all other active SSI members
within the cluster to confirm the allocation of a
MAC Address by his system. This allows the other
SSI members to keep track of user defined or MAC
Address which they own that are currently in use by
network devices on this system. This request is
broadcast whenever a user defined or a foreign MAC
Address is allocated on this system image.
Notes : The receiving systems will NOT REPLY to this
request with a SEND_REPLY.
Operation Code Specific Return Codes: Yes
Format: 0
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NE1BK *NETWORK Request Block
0000 0 Bitstring 48 NE1AREA Define entire SEND/REPLY Area
0030 48 Bitstring 1 NE1$END (0) The end
0000 0 Signed 2 NE1OPER Operation to Perform
00000001 NE1OVER 1 NE1OVER Verify MAC Address
00000002 NE1OREL 2 NE1OREL Release MAC Address
00000003 NE1CONFM 3 NE1CONFM Confirm MAC Address
00000003 NE1LAST NE1CONFM NE1LAST Last Valid OPER
Code
0002 2 Bitstring 1 NE1FLAGS Processing Flags
1... .... NE1PFXCK X'80' NE1PFXCK Perform MAC Prefix
Check for a "Verify MAC Address"
REQ
0003 3 Bitstring 5 * Reserved for future IBM use
Entire MAC Address
0008 8 Bitstring 6 NE1MAC (0) Full MAC Address
0008 8 Bitstring 3 NE1MPRFX MAC Prefix
000B 11 Bitstring 3 NE1MSUFX MAC Suffix
000E 14 Bitstring 2 * Reserved for future IBM use
"Confirm MAC Address Allocation" Only Fields
0010 16 Bitstring 8 NE1RUSER MAC ADR Owners User ID (Opt)
0018 24 Signed 2 NE1RDEV# Owning Device Number (Opt)
001A 26 Bitstring 6 * Reserved for future IBM use
0020 32 Dbl-Word 8 * (2) Reserved for Future IBM Use
REPLY Area for "Verify MAC Address Request"
The following information is returned in the REPLY for a
"Verify MAC Address Request" when the MAC Address in the
request is currently allocated.
0000 0 Dbl-Word 8 * Reserved for Future IBM Use
0008 8 Bitstring 8 NE1USER MAC ADR Owners User ID
0010 16 Signed 2 NE1DEV# Owning Device Number
0012 18 Bitstring 6 * Reserved for future IBM use
0018 24 Bitstring 24 * Reserved for future IBM use
Operation Code 1 Specific Return Codes
00000001 NE1FREE NETR_YES MAC Address NOT Assigned
00000064 NE1INUSE 100 MAC Address is currently
being used on this system
00000068 NE1BADMA 104 MAC Address is NOT valid
0000006C NE1BADPX 108 The MAC PREFIX associated
with the MAC Address is currently
assigned to either a SYSTEM, USER
or ENSEMBLE MAC PREFIX value.
00000001 NE1BUFFS 1 Number of buffers for request
NE2BK Operation Code x'0002' Assign MAC TABLE SYNC
Function : *NETWORK Request which will request all the
MAC Addresses assigned on the target system
for the specified MAC Prefixes.
An "Assigned MAC Table Synchronization" request
is sent to each active member of the SSI when
a system joins a SSI. At SSI JOIN time,
both the candidate and target systems will
synchronize MAC Addresses matching the candidate
and target system and user's MACPREFIXs. This
will involve multiple send with reply requests
from each active member of a SSI.
The SEND_REQUEST sends the data below to the
target system. The receiving system will return
all "LOCALLY OWNED" MAC Addresses currently
assigned for the MAC Prefixes specified in the
MAC Prefix Array (MPA).
Page 0 of Request
+-------------------------------------------+
x'00' | *NETWORK Header |
+-------------------------------------------+
x'40' | Request Header (Fixed Length of 16 bytes)|
+-------------------------------------------+
x'50' | MAC Prefix Array (MPA) |
| |
| - Variable Size Array |
| - 8 bytes per MAC Prefix Entry |
| |
| - MAC Prefix Entry (8 bytes) |
| |
| +-----+-----------------+ |
| 0 | 00 | 3 byte MAC PFX | |
| +-----+-----------------+ |
| 4 | 00 | Starting MAC SFX| |
| +-----+-----------------+ |
| |
+-------------------------------------------+
x'xx'
The SEND_REPLY from the target system will
reflect all the requested MAC Addresses starting
with the MAC SFX value or the MAC Prefixes
specified by the SEND_REQUEST in the MAC Suffix
Array (MSA). The MSA will follow a copy of the
MPA as shown below:
Page 0 of Reply
+-------------------------------------------+
x'00' | *NETWORK Header |
+-------------------------------------------+
x'40' | Request Header (Fixed Length of 16 bytes)|
+-------------------------------------------+
x'50' | MAC Prefix Array (MPA) |
| |
| - Variable Size Array |
| - 8 bytes per MAC Prefix Entry |
| |
+-------------------------------------------+
x'xx' | MAC Suffix Array (MSA) |
| |
| - Variable Size Array |
| - 16 bytes per MAC Suffix Entry |
| |
| - MAC Suffix Entry (16 bytes) |
| |
| +-------+-----------------------+ |
| x00 | I | SFX | |
| +-------+-------+---------------+ |
| x04 | FLAG | 00 | VDEV# | |
| +-------+-------+---------------+ |
| x08 | USERID | |
| | | |
| | | |
| +-------------------------------+ |
| X10 |
| |
| Where: |
| |
| I = Index into the MPA for the |
| MAX Prefix value associated |
| with the MAC suffix specified |
| in SFX. |
| |
| SFX = The three byte MAC suffix |
| |
| FLAG = MAC Attributes |
| |
| VDEV# = Virtual Device Number the |
| MAC assigned to this MAC ADR |
| |
| USERID = 8 byte EBCDIC User ID of |
| MAC Address owner |
| |
+-------------------------------------------+
Page 1 to 127
A single *NETWORK Operation Code 2 reply buffer may
be made up of 128 pages (524,288 bytes). Page 0
of the reply contains the above data structure,
whereas pages 1 to 127 extends the size of the MSA
Array. The total number of MSA entries in all 128
pages is specified in the fixed portion of the
request header in page 0 (NE2MSAEY).
The following specifications are for requesting
MAC Addresses for a single MAC Prefix:
Minimum Number of Pages Returned: 1
Maximum Number of Pages Returned: 128
Maximum MAC ADRs in page 0 : 250
Maximum MAC ADRs in pages > 0 : 256
Maximum MAC ADRs per Request : 32,762
Operation Code Specific Return Codes: Yes
Format: 0
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NE2BK *NETWORK Request Block
0000 0 Bitstring 4032 NE2AREA Define entire SEND/REPLY Area
0FC0 4032 Bitstring 1 NE2$END (0) The end
Request Header (Fixed Length of 16 bytes)
0000 0 Bitstring 16 NE2RQHDR (0) Request Header
0000 0 Signed 2 NE2MPASZ Size in bytes of MPA
0002 2 Signed 2 NE2MSAEY Total number of MSA entries
returned in this REPLY
0004 4 Signed 4 * Reserved for future IBM use
0008 8 Dbl-Word 8 * Reserved for future IBM use
End of Request Header
Start of MPA (Variable Length specified by NE2MPASZ)
0010 16 Bitstring 8 NE2MPA (0) Size of a single MPA Entry
0010 16 Bitstring 1 NE2MPAFG MPA Processing Code
00000000 NE2MPALL 00001 X'00',1 SYNC all MAC
Prefixes
00000001 NE2MPPFX 00001 X'01',1 SYNC a Specific MAC
Prefix
00000002 NE2MPSNG 00001 X'02',1 SYNC a single MAC
Addr
0011 17 Bitstring 3 NE2MACP Requested MAC Prefix
0014 20 Bitstring 1 NE2MPAR2 Reserved for future IBM use
0015 21 Bitstring 3 NE2MSFX Starting or Explicit Suffix
00000008 NE2MSZB *-NE2MPA MPA Entry Size
00000020 NE2MPAME (256/NE2MSZB) Maximum MPA Entries
in MPA End of a MPA Entry
REPLY Area is Identical to SEND_REQUEST with MSA Array
The REPLY includes the Fixed Header and the MPA specified
on the SEND_REQUEST. The only difference is the MSA
is returned for the assigned MAC Addresses immediately
following the MPA.
0000 0 Bitstring 4016 * Reply Data
MSA Array Entry (Variable Length following MPA)
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NE2MSA *NETWORK Request Block
0000 0 Bitstring 1 NE2MSAPI MPA Index for MAC Prefix
0001 1 Bitstring 3 NE2MSSFX MAC Suffix
0004 4 Bitstring 1 NE2MSFLG MAC Attribute Flag
1... .... NE2MSADP X'80' NE2MSADP ADAPTER MAC
Address
.1.. .... NE2MSPND X'40' NE2MSPND PENDING MAC
Address
..1. .... NE2MSPRT X'20' NE2MSPRT MAC Protected
0005 5 Bitstring 1 * Reserved for future IBM use
0006 6 Signed 2 NE2MSDEV Virtual Device Number
0008 8 Dbl-Word 8 NE2MSUID EBCDIC User ID
00000010 NE2MSASZ *-NE2MSA Size of a single MSA
Entry End of a MSA Entry
Operation Code 2 Specific Return Codes
00000001 NE2OKAY 1 Assigned MAC Addresses Returned
00000002 NE2NONE 2 Requested MAC Addresses not
assigned on this system
00000003 NE2PART 3 Only a Partial List of MAC
Addresses returned
00000001 NE2BUFFS 1 Number of buffers for request
NE3BK Operation Code x'0003' Verify Ensemble Data
Function :
The 'Verify Ensemble Data' request is sent to all
other JOINED members of an SSI. If the receiving
SSI member is currently in the ensemble, it will check
to see if the specified Ensemble Function Level matches
it's own. If it does, it will make sure that the
Ensemble ID matches. If the Ensemble Function Level
and the Ensemble ID match what is in use or the
receiving SSI member is not currently in an ensemble,
an affirmative response is returned via the Send_Reply
response area of the common *Network header indicating
that the requesting SSI member may join the ensemble.
If either the Ensemble ID or the Ensemble Function
Level do not match what is in use, a negative response
is returned via a Send_Reply along with the currently
active Ensemble Function Level or Ensemble ID.
A unanimous affirmative response from all active
members will allow the requesting member to join the
ensemble.
Operation Code Specific Return Codes: No
Format: 0
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure NE3BK *NETWORK Request Block
0000 0 Bitstring 40 NE3AREA Define entire SEND/REPLY Area
0028 40 Bitstring 1 NE3$END (0) The end
Ensemble ID from SET VMLAN command.
0000 0 Bitstring 16 NE3RENSI Set VMLAN Ensemble ID
Ensemble Function Level.
0010 16 Bitstring 2 NE3RENFL Ensemble Function Level
0012 18 Bitstring 2 * Reserved for future IBM use
0014 20 Bitstring 20 * Reserved for Future IBM Use Hold
for Ensemble MAC Prefix
Target System's Ensemble ID
0000 0 Bitstring 16 NE3TREID REPLY System's Ensemble ID
Target System's Ensemble Function Level
0010 16 Bitstring 2 NE3TREFL REPLY System's Ens Func Lvl
0012 18 Bitstring 2 * Reserved for future IBM use
0014 20 Bitstring 20 * Reserved for future IBM use Hold
for Ensemble MAC Prefix
Operation Code 3 Specific Return Codes
00000001 NE3OKAY NETR_YES Matching Ensemble ID and
Ensemble Function Level or not in
Ensemble
00000002 NE3BAD NETR_NO Ensemble Function Level
or Ensemble ID do not match
0000012C NE3BUSY 300 Set VMLAN in progress
| |