Linux Advanced Routing and Traffic Control list
 help / color / mirror / Atom feed
From: Lin Zhemin <ljm@ljm.qqjane.net>
To: lartc@vger.kernel.org
Subject: [LARTC] Question: TEQL / Equal Cost setup: failed
Date: Tue, 03 Apr 2001 02:33:11 +0000	[thread overview]
Message-ID: <marc-lartc-98626523828589@msgid-missing> (raw)

Hi, all.

I've tried to set up load balance using both of TEQL and nexthop
but in vain. Please tell me where should I correct my setup/notions.
Thanks a lot. I use a version 2.2.16-22 kernel (from Redhat 7.0
precompiled).


Connectivity:
======---------
| PC1   |(211.23.43.88)   (211.23.43.81)  /28 network
|   eth0|---------------- ADSL Router 1 ------- Same ISP but
|       |(211.75.156.252) (211.75.156.249)/29 network
|   eth1|---------------- ADSL Router 2 ------- different gateway
|       |
|   eth2|(intranet)
---------


Using TEQL:
=====[root@clust3 /root]# tc qdisc
qdisc teql0 8003: dev eth0
qdisc teql0 8004: dev eth1

[root@clust3 /root]# ip addr
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc teql0 qlen 100
    link/ether 00:c0:f6:b1:68:31 brd ff:ff:ff:ff:ff:ff
    inet 211.23.43.88/28 brd 211.23.43.95 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc teql0 qlen 100
    link/ether 00:e0:4c:39:74:de brd ff:ff:ff:ff:ff:ff
    inet 211.75.156.252/29 brd 211.75.156.255 scope global eth1
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:c0:f6:b1:57:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.224/24 brd 192.168.0.255 scope global eth2
5: teql0: <BROADCAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/generic
    inet 211.75.156.252/29 scope global teql0
    inet 211.23.43.88/28 scope global teql0

[root@clust3 /root]# ip route
211.75.156.248/29 dev teql0  proto kernel  scope link  src
211.75.156.252
211.23.43.80/28 dev teql0  proto kernel  scope link  src 211.23.43.88
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.224
127.0.0.0/8 dev lo  scope link
default dev teql0  scope link

[root@clust3 /root]# ping 211.23.43.81
PING 211.23.43.81 (211.23.43.81) from 211.23.43.88 : 56(84) bytes of data.
64 bytes from gw0 (211.23.43.81): icmp_seq=0 ttl%4 time=1.055 msec

[root@clust3 /root]# ping 211.75.156.249
PING 211.75.156.249 (211.75.156.249) from 211.75.156.252 : 56(84) bytes of data.
64 bytes from gw1 (211.75.156.249): icmp_seq=0 ttld time=1.149 msec

[root@clust3 /root]# ping 211.23.16.116  (some internet address)
PING 211.23.16.116 (211.23.16.116) from 211.75.156.252 : 56(84) bytes of data.
From lh1 (211.75.156.252): Destination Host Unreachable

[root@clust3 /root]# traceroute -n 211.23.16.116
traceroute to 211.23.16.116 (211.23.16.116), 30 hops max, 38 byte packets
 1  211.23.43.88  3009.191 ms !H  2999.928 ms !H  3009.885 ms !H




Using TEQL but more tricky
============= (other parameters stayed the same)
[root@clust3 /root]# ip route
211.75.156.248/29 dev teql0  proto kernel  scope link  src
211.75.156.252
211.23.43.80/28 dev teql0  proto kernel  scope link  src 211.23.43.88
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.224
127.0.0.0/8 dev lo  scope link
default equalize
        nexthop via 211.23.43.81  dev teql0 weight 1
        nexthop via 211.75.156.249  dev teql0 weight 1

[root@clust3 /root]# ping ljm
PING ljm (211.23.16.116) from 211.23.43.88 : 56(84) bytes of data.
  (no response here)
--- ljm ping statistics ---
26 packets transmitted, 0 packets received, 100% packet loss

[root@clust3 /root]# traceroute -n ljm
traceroute to ljm (211.23.16.116), 30 hops max, 38 byte packets
 1  211.23.43.81  1.200 ms  1.106 ms  1.097 ms
 2  10.23.43.254  52.294 ms  50.076 ms  49.577 ms
 3  168.95.225.94  42.060 ms  39.402 ms  47.919 ms
 4  168.95.225.69  87.703 ms  49.975 ms  49.951 ms
 5  211.23.16.116  90.643 ms  101.042 ms  137.353 ms

(Test at 211.23.16.116)
ljm:~$ ping 211.75.156.252
PING 211.75.156.252 (211.75.156.252) from 211.23.16.116 : 56(84) bytes of data.
64 bytes from 211.75.156.252: icmp_seq=0 ttl%1 timeX3.872 msec

ljm:~$ ping 211.23.43.88
PING 211.23.43.88 (211.23.43.88) from 211.23.16.116 : 56(84) bytes of data.

--- 211.23.43.88 ping statistics ---
6 packets transmitted, 0 packets received, 100% packet loss

ljm:~$ traceroute -n 211.23.43.88
traceroute to 211.23.43.88 (211.23.43.88), 30 hops max, 40 byte packets
 1  211.23.16.254  63.665 ms  49.588 ms  50.368 ms
 2  168.95.225.62  52.108 ms  45.403 ms  46.223 ms
 3  168.95.225.36  52.886 ms  49.627 ms  50.394 ms
 4  * * * 

ljm:~$ traceroute -n 211.75.156.252
traceroute to 211.75.156.252 (211.75.156.252), 30 hops max, 40 byte packets
 1  211.23.16.254  50.059 ms  66.848 ms  49.462 ms
 2  168.95.225.62  46.122 ms  46.13 ms  46.496 ms
 3  168.95.225.34  66.211 ms  49.667 ms  50.291 ms
 4  211.75.156.249  90.048 ms  96.67 ms  140.575 ms
 5  211.75.156.252  84.296 ms  103.313 ms  81.974 ms



Equal Cost Without TEQL (To be sure, teql0 is dettached and set down)
===========[root@clust3 /root]# ip addr
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:c0:f6:b1:68:31 brd ff:ff:ff:ff:ff:ff
    inet 211.23.43.88/28 brd 211.23.43.95 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:e0:4c:39:74:de brd ff:ff:ff:ff:ff:ff
    inet 211.75.156.252/29 brd 211.75.156.255 scope global eth1
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:c0:f6:b1:57:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.224/24 brd 192.168.0.255 scope global eth2
5: teql0: <BROADCAST,NOARP> mtu 1500 qdisc pfifo_fast qlen 100
    link/generic

[root@clust3 /root]# ip route
211.75.156.248/29 dev eth1  scope link  src 211.75.156.252
211.23.43.80/28 dev eth0  scope link  src 211.23.43.88
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.224
127.0.0.0/8 dev lo  scope link
default equalize
        nexthop via 211.23.43.81  dev eth0 weight 1
        nexthop via 211.75.156.249  dev eth1 weight 1

[root@clust3 /root]# ping gw0
PING gw0 (211.23.43.81) from 211.23.43.88 : 56(84) bytes of data.
64 bytes from gw0 (211.23.43.81): icmp_seq=0 ttl%4 time=2.360 msec

[root@clust3 /root]# ping gw1
PING gw1 (211.75.156.249) from 211.75.156.252 : 56(84) bytes of data.
64 bytes from gw1 (211.75.156.249): icmp_seq=0 ttld time=1.848 msec

[root@clust3 /root]# ping -R ljm
PING ljm (211.23.16.116) from 211.23.43.88 : 56(124) bytes of data.
64 bytes from ljm (211.23.16.116): icmp_seq=0 ttl%1 time\x108.360 msec RR:     lh0 (211.23.43.88)
        0.0.0.0     <---- ??????
        tp-b-c6r6.router.hinet.net (168.95.225.94)
        ljm (211.23.16.116)
        ljm (211.23.16.116)
        tp-b-c6r5.router.hinet.net (168.95.225.62)
        gw0 (211.23.43.81)
        lh0 (211.23.43.88)

64 bytes from ljm (211.23.16.116): icmp_seq=1 ttl%1 time\x104.320 msec
(same route)

[root@clust3 /root]# traceroute -n ljm
traceroute to ljm (211.23.16.116), 30 hops max, 38 byte packets
 1  211.23.43.81  1.195 ms  1.101 ms  1.094 ms
 2  10.23.43.254  45.981 ms  49.400 ms  55.687 ms
 3  168.95.225.94  43.254 ms  39.596 ms  40.620 ms
 4  168.95.225.69  46.018 ms  49.208 ms  66.728 ms
 5  211.23.16.116  96.789 ms  99.233 ms  92.604 ms

(Test at 211.23.16.116)

1. ping 211.23.43.88  : replies only by eth0, inspected using tcpdump
2. ping 211.75.156.252: replies only by eth1, inspected using tcpdump
3. wget http://211.23.43.88/large.iso
   Traffic goes merely through eth0, so that load balance is not
   realised.


If you've read here, thanks a lot!
I'm totally confused by TEQL and Equal Cost. I've read all pages that
google could find by keyword 'TEQL', 2.4 Advanced Routing HOW-TO, and
LRP Load Balance HOW-TO. There are indeed a grate lacune of document
in this category...


-- 
原鄉人的血液沒有回到原鄉,是不會停止沸騰的。(鍾理和)
Fingerprint20 = CE32 D237 02C0 FE31 FEA9  B858 DE8F AE2D D810 F2D9

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/2.4Routing/

                 reply	other threads:[~2001-04-03  2:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-lartc-98626523828589@msgid-missing \
    --to=ljm@ljm.qqjane.net \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox