u201c upbound completions u201d both upbound requests and upbound completions are initiated by one ore more of the i o expansion adapters 111 an upbound i o expansion vector 422 is used to determine if the upbound request is being sent from one of the i o expansion adapters 111 the upbound i o expansion vector 422 retrieves information from a header of the upbound request and using the bit select logic 424 determines the source of the upbound request once the source of the upbound request is determined the address routing information is stored in the rat 318 of fig3 by transporting the data to the rat 318 at block 416 a multiplexor 412 is used to extract the requester id field 204 from the pcie request header 200 of fig2 a from the upbound request the requester id field 204 bus number is passed to the rat 318 the requester id field 204 including the bus number device number and function number is passed from the multiplexor 412 to a requester id content addressable memory rid cam 414 the rid cam 414 provides an index into the device table 402 the device table 402 is used to determine the virtual address of a particular function within the i o expansion adapter 111 of fig1 based on the requester id field 204 the data extracted from the device table 402 is modified by a multiplexor 410 and the output of the multiplexor 410 is.