#!/bin/sh
#
# Copyright 2008 Meru Networks
# All rights reserved.
#

USER_DATA_BACKUP_DIR=/user_data_backup


set_platform()
{
    if [ ! -e /etc/platform ]; then
        sysid.pl
    fi

    export PLATFORM=`cat /etc/platform`
}

set_platform_params()
{
    hw_accel=`cat /proc/sys/fastpath/hardware_accel`

    set_platform

    case $PLATFORM in 

        MC500|MC500a)
            FIRST_IF=eth0
            SECOND_IF=eth1
            BOOT_DEV=/dev/hdc
            MAX_CLIENTS=100
            AP_LIMIT=5
            PLATFORM_KARCH=acrosser
            ;;
        MC1000)
            FIRST_IF=eth1
            SECOND_IF=eth0
            BOOT_DEV=/dev/hda
            MAX_CLIENTS=500
            AP_LIMIT=75
            PLATFORM_KARCH=i686
            ;;
        MC1100)
            FIRST_IF=eth1
            SECOND_IF=eth0
            BOOT_DEV=/dev/hdc
            MAX_CLIENTS=500
            AP_LIMIT=75
            PLATFORM_KARCH=i686
            ;;
        MC1500)
            FIRST_IF=eth0
            SECOND_IF=eth1
            BOOT_DEV=/dev/hdc
            MAX_CLIENTS=500
            AP_LIMIT=30
            PLATFORM_KARCH=i686
            ;;
        MC3000)
            FIRST_IF=eth0
            SECOND_IF=eth1
            BOOT_DEV=/dev/hda
            MAX_CLIENTS=2000
            AP_LIMIT=150
            PLATFORM_KARCH=i686
            ;;
        MC4000)
            FIRST_IF=eth0
            SECOND_IF=eth1
            BOOT_DEV=/dev/hda
            if [ $hw_accel ]; then
                MAX_CLIENTS=3000
                AP_LIMIT=300
            else
                MAX_CLIENTS=2000
                AP_LIMIT=200
            fi
            PLATFORM_KARCH=i686
            ;;
        MC4100)
            FIRST_IF=eth6
            SECOND_IF=eth7
            BOOT_DEV=/dev/hda
            if [ $hw_accel ]; then
                MAX_CLIENTS=3000
                AP_LIMIT=300
            else
                MAX_CLIENTS=2000
                AP_LIMIT=200
            fi
            PLATFORM_KARCH=i686
            ;;
        MC5000)
            FIRST_IF=eth6
            SECOND_IF=eth7
            BOOT_DEV=/dev/hda
            if [ $hw_accel ]; then
                MAX_CLIENTS=3000
                AP_LIMIT=300
            else
                MAX_CLIENTS=2000
                AP_LIMIT=200
            fi
            PLATFORM_KARCH=i686
            ;;
        * )
            echo "Platform not found in set_platform_params()!!!"
            ;;
    esac

    BOOT_PARTITION="${BOOT_DEV}1"
    ROOT_PARTITION="${BOOT_DEV}2"
    DUMP_DEV="${BOOT_DEV}3"
    DATA_BACKUP_PARTITION="${BOOT_DEV}4"

    # If we are booting from recovery, we do not have Octeon, so we have to use
    # the base eth ports.
    BOOT_RECOVERY=`cat /proc/cmdline | grep $DATA_BACKUP_PARTITION`

    if [ -n "$BOOT_RECOVERY" ]; then
        case $PLATFORM in 
            MC4100|MC5000)
                FIRST_IF=eth0
                SECOND_IF=eth1
                ;;
            * )
                ;;
        esac
    fi
 
    REAL_IF=$FIRST_IF
    ASC_ATS_IF=$REAL_IF
    RECOVERY_PARTITION=$DATA_BACKUP_PARTITION

    export FIRST_IF SECOND_IF REAL_IF ASC_ATS_IF DUMP_DEV MAX_CLIENTS AP_LIMIT
    export RECOVERY_PARTITION BOOT_PARTITION ROOT_PARTITION BOOT_DEV
    export DATA_BACKUP_PARTITION
}

