SANGOMA

Wanpipe Linux Wan /API FAQ


Wanpipe is connected to a remote cisco router via Frame Relay, the Pings work, but why do HTTP and DNS requests fail?

Why does Running Zebra OSPF over WANPIPE produce inactive routes?

How do I enable ip_forwarding on RedHat 8.0 and greater?

How do I loadbalance multiple T1/E1/56K Wanpipe lines?

How to bind an irq to a single or multiple CPUs?

Wanpipe interfaces don't come up on wanrouter start?




Q1.   Wanpipe is connected to a remote cisco router via Frame Relay, the Pings work, but why do HTTP and DNS requests fail?
A1.     Make sure that Frame-Relay payload compression is OFF on the Cisco Router.
 

Q2.    When Running Zebra OSPF over WANPIPE, when I start zebra, OSPF has inactive routes, why?
A2.     If OSPF comes back with inactive routes, problem lies with the wanpipe netmask address.

         The Netmask address has to be set to
         255.255.255.255 for pointopoint links.


Q3. How do I enable ip_forwarding on RedHat 8.0 or greater?
A3.

 

    Edit /etc/sysctl.conf

    To enable ip forwarding on boot up set variable
    net.ipv4.ip_forward to 1.
      
    net.ipv4.ip_forward = 1



Q4.    How do I loadbalance multiple T1/E1/56K WANPIPE® lines?
A4:       Linux offers numberous ways to loadbalance multiple WAN lines.

 

          Available Options: TEQL, PPP Multilink, IPROUTE2
 
          TEQL:  Round robin packet equalization between multiple links.
                      Refer to README.loadbalancing

          PPP MULTILINK:  True loadbalancing protocol.
                                      However, MULITLINK protocol must be supported by both sides of the link.
                                      Refer to README.multilink

          IPROUTE2: Equal Cost Multi-Path routing. Attaches weights to each path,
                             useful when two lines are not the same baud rate.
          
    


Q5.    How do I bind an irq to a single or multiple CPUs?
A5.     SMP Affinity Bit Map

 

The /proc/irq directory contains all available IRQ's.  Each IRQ directory contains a irq to cpu mapping file called 'smp_affinity'.  For example to view irq to cpu mapping for irq 20 (irq 20 is a virtually mapped irq):

cat /proc/irq/20/smp_affinity
   
(eg: output)    ffffffff

The smp_affinity contains the CPU bitmap.  Each bit is used to enable or disable a specific CPU.

eg: bit 1 : enables/disables CPU0
      bit 2 : enables/disables CPU1
       ... etc

By default, for all IRQ's all CPUs are enabled.  As we can see from
the above smp_affinity     output (ffffffff) all CPUs are enabled.

NOTE: One first 8 bits are used. i.e. XXXXXXff  (X is not used)

Bind IRQ 20 to CPU 0
    echo 1 > /proc/irq/20/smp_affinity

Bind IRQ 20 to CPU1
    echo 2 > /proc/irq/20/smp_affinity                           

Bind IRQ 20 to both CPUs
    echo 3 > /proc/irq/20/smp_affinity

A good idea would be to bind eth0 irq and wanpipe irq to a different CPUs.  By running a interrupt on a single CPU instead of multiple CPUs a cache coherency can be improved, thus a boost in performance can be achieved by reducing cache misses.

Note: if you are runing irqbalance daemon, the smp_affinity will be overwritten by irqbalance daemon.




Q6.  Wanpipe interfaces don't come up on wanrouter start?
A6.

Problem: HOTPLUG

The hotplug driver, automatically starts up the
interface and then brings it down.  This conflicts
with our driver.

Possible Solutions:

1) Insert wanpipe interface name into the hotplug
   interface list, and restart hotplug.
   
    vi /etc/hotplug/net.agent
   
        Insert wanpipe interface name into
        the ignore list:
   
        ...ppp*|lo*|w*)

        Where w* relates to all wanpipe interfaces
        starting with letter "w"

                                                              

Site

Changes
Index
Search

 

User

 

Log In
Register

 
 

Last Modified 1/3/08 4:26 PM