Please try to follow me here:
I have a host connected to a 2950 access layer swicth in building A. The enitre access switch is vlan 100 (first floor). The switch uplinks to a 3550 in the basement on a port dedicated to vlan 100. The 3550 routes between vlans (the different floors) in the building okay and also has a trunk over to a similar 3550 in building B (the trunk includes all vlans.) Here's my problem, vlan 100 in building A can talk to any other vlan in building A, but it can only talk to vlan 100 in building B. It is like this for all vlans in either building-- They can talk to any vlan in the same building, but only the same vlan in the other building. I think this has something to do with the packet structure and the way the headers are aligned, but can't quite seem to figure it out.
I have traced the packet from building A vlan100 and found that it does reach any host (on any vlan) I choose in building B. However, when the packet is coming back from building B's 3550 switch it gets to building A's 3550 and then is dropped. What am I missing here? Please help!