Wanpipe WAN 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?

    How do I enable SNMP Support? 



    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"

     


    Q7. SNMP Support
    A7.

    if you are having trouble finding the Wanpipe interface with net-snmp, a modification needs to be done to make snmp work with wanpipe interfaces:

    In the snmp source directory,
    in agent/mibgroup/mibII/interfaces.c

    Look for the line
    nnew->if_type ==24 ? 10000000 :

    this line is to monitor interfaces of type “Ethernet”, add an interface type for wanpipe:

    nnew->if_type ==23? 10000000 :
    so your interfaces.c file would have both:

    nnew->if_type ==24 ? 10000000 :

    nnew->if_type ==23 ? 10000000 :

    There is a patched version for version 5.3 there: ftp://ftp.sangoma.com/linux/utilities/net-snmp-5.3.tgz
     

    Documentation about net-snmp is located at: http://www.net-snmp.org