Re: OT: SR/TLB Revised - discoveries..! (longish)

From: John Neiberger (neiby@xxxxxxxxxx)
Date: Sun Nov 25 2001 - 19:22:22 GMT-3


   
It appears to me that without bridge xyz bitswap-layer3-addresses, SR/TLB
would work for non-routable protocols or, more specifically, protocols that
don't use ARP. I think that command is necessary when bridging IP so that
ARP works correctly. SR/TLB handles bit swapping at layer 2, but this
mangles ARP. If we were simply bridging netbios or SNA this wouldn't be
necessary.

Interestingly, today I set this up with DLSw between R2 and R3 and I still
needed this command to make ARPs work correctly. That really baked my
noodle, but it solidified the fact that SR/TLB is a layer two function. If
you have protocols such as ARP that have data inside the frame that also
needs to be flipped, the extra command is necessary.

I tried this yesterday using RSRB and it worked initially, but I noticed
that after a while R1 wouldn't be able to ping R4. And, I noticed that if
R4 didn't have an ARP entry for R1 it would never be able to ping it. I'd
have to ping from R1 to populate the arp cache on R4 before R4 could
successfully ping R1.

After changing to DLSw I didn't have this problem. It works very nicely
now. Fun stuff! :-)

Thanks,
John

On Sun, 25 Nov 2001 16:36:47 -0500, Nigel Taylor wrote:

| John,
| I got to looking at your SR/TLB scanerio and it got my attention
| as to the config you had didn't work once you removed the command
| "bridge X bitswap-layer3-addresses". So I test out a few things and
| this is what I discovered. Basically, I got this working with the posted
| config.
| I used everything based on your posted config except I just used
different
| IPs.
| A few things to keep us aware of what's going on and the config that
allows
| this SR/TLB to work.
|
|
| R1's to0 MAC - 0000.308c.6b20 / 0000.0C31.D604 (bit-swapped)
| R1's config
|
| interface TokenRing0
| ip address 192.168.2.1 255.255.255.0
| no ip directed-broadcast
| ring-speed 16
| multiring ip
|
| -----------------
|
| R2's to0 MAC - 0006.3a3a.0707 / 0060.5C5C.E0E0 (bit-swapped0
| R2's config
|
| no ip routing
| source-bridge ring-group 200
| source-bridge transparent 200 300 1 20
|
| interface Serial1
| no ip address
| no ip route-cache
| clockrate 64000
| bridge-group 20
| !
| interface TokenRing0
| no ip address
| no ip route-cache
| ring-speed 16
| source-bridge 10 1 200
|
| bridge 20 protocol ieee
| bridge 20 bitswap-layer3-addresses
|
| -------------------
|
| R3's e0 MAC - 0010.7b35.d05d / 0008.DEAC.0BBA (bit-swapped)
| R3's config
|
| no ip routing
| interface Ethernet0
| no ip address
| no ip directed-broadcast
| no ip route-cache
| bridge-group 1
| !
| interface Serial0
| no ip address
| no ip directed-broadcast
| no ip route-cache
| no ip mroute-cache
| no fair-queue
| bridge-group 1
| !
| bridge 1 protocol ieee
|
| ---------------------
|
| R4's e0 MAC - 00e0.1e80.3499 / 0007.7801.2C99 (bit-swapped)
| R4's config
|
| interface Ethernet0
| ip address 192.168.2.50 255.255.255.0
| no ip directed-broadcast
|
| ---------------------
|
| Additional test points
| PC1 connected on the same e0 segment of R4
| e0 MAC - 0000.21c9.d79f / 0000.8493.EBF9 (bit-swapped)
|
| PC2 connected on the same token ring segment of R1
| to MAC - 0000.83ac.70e7 / 0000.C135.0EE7 (bit-swapped)
|
|
|
| Ok, let's take this from the top.. R1, this config is pretty basic
| except for the use of the "multring ip" command which To enable
| collection and use of RIF information.
|
| R2, the interesting router.. After going through everything on CCO
| and in all my books, white papers etc.. they all suggest that in SR/TLB
| that each domain sees the other as another SRB/TB and vise versa.
However,
| I could not get this to work unless the "bridge X
bitswap-layer3-addresses"
| comamnd was added to R2.
|
|
| R2 after clearing rif-cache, bridge, and source-bridge..
| R2#sh bri
|
| Total of 300 station blocks, 294 free
| Codes: P - permanent, S - self
|
| Bridge Group 20:
|
| Address Action Interface Age RX count TX count
| 0000.c165.100e forward RingGroup200 0 2 0
| 0000.c165.2015 forward RingGroup200 0 4 0
| 0000.21c9.d79f forward Serial1 0 24 0
| 00e0.1e80.3499 forward Serial1 0 1
0(R4)**
| 0000.0c31.d604 forward RingGroup200 0 2
0(R1)**
| 0000.c135.0ee7 forward RingGroup200 0 67 0
|
|
| R2#sh source-bridge
|
| Local Interfaces: receive transmit
| srn bn trn r p s n max hops cnt cnt
drops
| To0 10 1 200 * f 7 7 7 94 46 0
|
| Global RSRB Parameters:
| TCP Queue Length maximum: 100
|
| Ring Group 200:
| No TCP peername set, TCP transport disabled
| Maximum output TCP queue length, per peer: 100
| Rings:
| bn: 1 rn: 10 local ma: 4006.3a3a.0707 TokenRing0 fwd:
1
| bn: 1 rn: 300 locvrt ma: 4006.3a3a.0747 Bridge-group 20 fwd:
1
|
| Explorers: ------- input ------- ------- output -------
| spanning all-rings total spanning all-rings total
| To0 52 41 93 45 0 45
|
| Explorer fastswitching enabled
| Local switched: 59 flushed 0 max Bps 38400
|
| rings inputs bursts throttles output
drops
| To0 52 0 0
0
|
| R2#sh rif
| Codes: * interface, - static, + remote
|
| Dst HW Addr Src HW Addr How Idle(min) Vlan Routing Information
Field
| 0006.3a3a.0707 N/A To0 * - -
| 0000.83a6.0870 N/A BG20 3 - 0890.00A1.0C81.12C0
| 0000.83a6.04a8 N/A BG20 0 - 0890.00A1.0C81.12C0
| 0000.83ac.70e7 N/A BG20 0 - 0890.00A1.0C81.12C0
| 0000.308c.6b20 N/A BG20 2 -
0890.00A1.0C81.12C0(R1)**
| R2#
|
| A ping from R1 to R4...
|
| R1#p 192.168.2.50
|
| Type escape sequence to abort.
| Sending 5, 100-byte ICMP Echos to 192.168.2.50, timeout is 2 seconds:
| .....
| Success rate is 0 percent (0/5)
|
| and the arp of R1 shows.. it does it that the ARP request did not find a
| host/MAC
| address mapping of R4.
|
| R1#sh arp
| Protocol Address Age (min) Hardware Addr Type Interface
| Internet 192.168.2.50 0 Incomplete SNAP
| Internet 192.168.2.1 - 0000.308c.6b20 SNAP TokenRing0
| R1#
|
|
| Now if we look at R2, the "sh bri ver" shows that the TB knows about R4
| through serial1,
| also the TX count = 0.
|
| R2#sh bri ver
|
| Total of 300 station blocks, 294 free
| Codes: P - permanent, S - self
|
| BG Hash Address Action Interface VC Age RX count
TX
| count
| 20 1E/0 0000.c165.100e forward RingGroup200 - 1 1
| 0
| 20 35/0 0000.c165.2015 forward RingGroup200 - 0 18
| 0
| 20 48/0 0000.21c9.d79f forward Serial1 - 0 477
| 6
| 20 AD/0 00e0.1e80.3499 forward Serial1 - 0 11
| 0(R4)**
| 20 D2/0 0000.0c31.d604 forward RingGroup200 - 0 12
| 0(R1)**
| 20 E9/0 0000.c135.0ee7 forward RingGroup200 - 0 187
| 7
|
| Flood ports (BG 20) RX count TX count
| Serial1 364 110
| RingGroup200 110 364
|
| Now in doing a "sh rif" on R2 we get this.. notice the SRB domain has no
| knowledge of
| R4 and does not have a cached entry for it's bit-swapped
| MAC(0007.7801.2C99).
|
| R2#sh rif
| Codes: * interface, - static, + remote
|
| Dst HW Addr Src HW Addr How Idle(min) Vlan Routing Information
Field
| 0006.3a3a.0707 N/A To0 * - -
| 0000.83a6.0870 N/A BG20 2 - 0890.00A1.0C81.12C0
| 0000.83a6.04a8 N/A BG20 0 - 0890.00A1.0C81.12C0
| 0000.83ac.70e7 N/A BG20 0 - 0890.00A1.0C81.12C0
| 0000.308c.6b20 N/A BG20 0 -
0890.00A1.0C81.12C0(R1)**
| R2#
|
|
| now in using the "bridge 20 bitswap-layer3-addresses" command on R2,
notice
| the changes on
| R1..
|
| R1#sh arp
| Protocol Address Age (min) Hardware Addr Type Interface
| Internet 192.168.2.47 0 0000.8493.ebf9 SNAP
TokenRing0(PC1)
| Internet 192.168.2.50 4 0007.7801.2c99 SNAP
TokenRing0(R4)
| Internet 192.168.2.1 - 0000.308c.6b20 SNAP TokenRing0
|
|
| This doesn't seem to be performing SR/TLB to me because of the use of the
| bitswap command.
| It would seem that the SR/TLB conversion isn't being performed. The use
of
| the "bitswap" command
| allows the conversion to be made through the BG as in a TB bridged
domain.
| I've got to put my sniffer on this to get a better idea of what's going
on
| here. Also I would like kto test this out with a PC on the token
segment(of
| R1) instead .. This is interesting to say the least.
|
| thoughts anyone...!
|
| -Nigel
|
|
|
|
|
|
|
|
|
|
|
|



This archive was generated by hypermail 2.1.4 : Fri Jun 21 2002 - 06:45:22 GMT-3