20200615_jeffrey - silenceuncrio/diary GitHub Wiki

0855

這個禮拜的 review list


M300 - task

  • [0%] P2 - BGP status (web ui)
  • [0%] P2 - give a init value for google map

M300 - issue

  • [0%] 1064: hard coding interface options is danger

M300 - bug

  • [30%] firmware upgrade 卡在 40%
    • pc 網卡直連 M300 lan 端
    • 檔案上傳慢到(1分鐘100KB)前端的 javascript 慢慢跑到 40% 在等著上傳檔案完成 - 一小時也等不到

M330 - task

  • [0%] P2 - PI only: make default is unselected for "Auto Show setup wizard..."
  • [0%] P2 - PI only: weak password do not redirect to admin page after login
  • [0%] P3 - sync multi language from m330 to all mobile project

M330 - issue

  • none

M330 - bug

  • [0%] firmware upgrade 上傳成 M300 的 firmware 第一次失敗後到至後續上傳正確的也會失敗
    • lighttpd 回 request entity too large

M350-C - task

  • [100%] P1 - remove ECMP web/cli whole page
  • [100%] P1 - health check event and share memory
  • [100%] P1 - web ui: enhance IPv6 static
  • [0%] P2 - Dynamic Web UI by HW_MCSV
  • [0%] P2 - Dynamic Firmware Upgrade by HW_MCSV
  • [0%] P2 - Web UI: WAN as LAN

M350-C - issue

  • none

M350-C - bug

  • [20%] web ui openvpn wizard 會讓 lighttpd process 被 kill 掉
    • M330 不會
    • M330 的 lighttpd 為 1.4.30
    • M350 的 lighttpd 為 1.4.40
  • [80%] 修改 menu.html.src 透過 web upgrade 後會 cache 舊的 menu
    • 可以套用至全平台
  • [0%] web ui reboot 的倒數機制出了問題 - 似乎重開機時間變長了
  • [0%] wifi 2.4g wps 要拿掉

M350-C - misc

  • [30%] 跨 repository 間 code 的 sync - 培養功力
    • 起手式
      git format-patch -k --stdout ${A_COMMIT_HASH}..${B_COMMIT_HASH} > xxx.patch
      git am -k -3 < xxx.patch
      
    • git am 失敗的時候該怎麼辦? git apply --reject

M360P - task

  • [100%] P1 - Status of route learned through BGP
  • [100%] P1 - wen ui: option to disable/enable the default route
  • [100%] P1 - wen ui: no redirect for simple password
  • [0%] P1 - wen ui: url filtering whilelist
  • [0%] P1 - Carrier Aggregation info porting

M360P - issue

  • [60%] 936: some routes learned via bgp, then they disappear then appear again after a few seconds, and again and again...
  • [60%] 787: when local ethernet link is 100 half, firmware upgrade via web ui fail

M360P - bug

  • [30%] - 0000908: sometimes first time modify LTE NET mode or APN on dual APN will apply fail - root cause 是 lighttpd 重啟了
    • M360P 的 lighttpd 為 1.4.30

ISMS Server - task

  • [10% ]Map track
    • 先用假資料
    • 想要有時間軸可以拉
  • [70%] topology 考慮 byOne 的呈現
  • [10%] node config
  • [50%] RWD and color, layout, navigation
  • [85%] dashboard
  • [75%] topology
  • [40%] map

0910

M350-C - task - [0%] P1 - remove ECMP web/cli whole page

commit 23063f45a7060287be861ee0143ef381df55d995
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jun 15 09:44:27 2020 +0800

    remove 'Service > ECMP' from web ui

 proscend/prosrc/www/src/index.html.src        | 1 -
 proscend/prosrc/www/src/manual.html.src       | 3 ---
 proscend/prosrc/www/src/manual/sidebar.h.html | 3 ---
 proscend/prosrc/www/src/menu.html.src         | 3 ---
 4 files changed, 10 deletions(-)

0950

M350-C - task - [0%] P1 - health check event and share memory

目前 GRE 有下列幾處會發 event

icos/icoslib/gre_3g/gre_3g.c





static int _apply(int flag, int index, void* pStruct, int structSize)
{
	...

    gre_3g_t *setting = (gre_3g_t *)pStruct;

    ...

    if (setting->mode == ATTVAL_MODE_ON)
    {
        // the following module need this event to trigger
        // policyRT
        // route
        ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_UP);

        ...
    }
    else
    {
        // the following module need this event to trigger
        // policyRT
        // route
        ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_DOWN);

        ...

    }

    ...

}

...

static int _notify(PRO_EVENT *pevent)
{
    switch (pevent->event_id)
    {

        case ICOS_BOOTINIT_DONE:
        case ICOS_WAN_IP_UPDATE:
            {
                gre_3g_t _setting;
                if (_get_setting(OPFLAG_GET_CURRENT, 0, &_setting, sizeof(_setting)) != ICOS_SUCCESS)
                {
                    return ICOS_FAILURE;
                }
                gre_3g_t *setting = &_setting;

                if (setting->mode == ATTVAL_MODE_ON)
                {
                    // the following module need this event to trigger
                    // policyRT
                    // route
                    ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_UP);
                }
                else
                {
                    // the following module need this event to trigger
                    // policyRT
                    // route
                    ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_DOWN);
                }
            }
            break;

        default:
            break;

    }

    return ICOS_SUCCESS;
}

icos/greK/main.c




static void handler(int sig, siginfo_t *si, void *uc)
{
    if (Tunnel_interface_up && (Tunnel_keepalive_counter >= Keepalive_retries))
    {
        // the following module need this event to trigger
        // policyRT
        // route
        ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_DOWN);
    }

    if (!Tunnel_interface_up && Tunnel_keepalive_counter == 0)
    {
        // the following module need this event to trigger
        // policyRT
        // route
        ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_UP);
    }
}

因應目前的新架構

ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_UP) 的部分

我要改 broadcast ICOS_VPN_UP 伴隨以下結構的訊息

typedef struct if_health_entry
{
    int if_id; // interface id
    char ifname[NETDEV_NAME_LEN];  // interface name   
    char health; // 1: healthy; 0: not healthy
} IF_HEALTH_ENTRY;
  • health = 1

ICOS_broadcast(MODULE_GRE_3G, NULL, 0, ICOS_IFACE_DOWN); 的部分

改 broadcast ICOS_VPN_DOWN 伴隨相同結構

  • health = 0

commit 23063f45a7060287be861ee0143ef381df55d995
Author: jeffrey <[email protected]>
Date:   Mon Jun 15 09:44:27 2020 +0800

    remove 'Service > ECMP' from web ui

 proscend/prosrc/www/src/index.html.src        | 1 -
 proscend/prosrc/www/src/manual.html.src       | 3 ---
 proscend/prosrc/www/src/manual/sidebar.h.html | 3 ---
 proscend/prosrc/www/src/menu.html.src         | 3 ---
 4 files changed, 10 deletions(-)

1300

M350-C - task - [0%] P1 - health check event and share memory

commit 597077b5199cf0cf3e1fd08bec9364baeba1fe06
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jun 15 13:32:46 2020 +0800

    broadcast event ICOS_VPN_UP/ICOS_VPN_DOWN with data IF_HEALTH_ENTRY in GRE

 proscend/prosrc/icos/greK/main.c             | 59 +++++++++++++++++++++++-----
 proscend/prosrc/icos/icoslib/gre_3g/gre_3g.c | 54 +++++++++++++++++++------
 2 files changed, 91 insertions(+), 22 deletions(-)

1340

M350-C - task - [0%] P1 - web ui: enhance IPv6 static


commit 954b567be10130958a9043987834a29c4a3b0221
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jun 15 17:03:53 2020 +0800

    add 'IPv6 > IPv6 Config' web page
    - remove 'LAN > IPv6'

 proscend/prosrc/webcgi/Makefile                   |   4 +
 proscend/prosrc/webcgi/ipv6_config.c              | 181 ++++++++++++++++++
 proscend/prosrc/www/app/feature/ipv6_config.html  | 217 ++++++++++++++++++++++
 proscend/prosrc/www/app/feature/ipv6_config.js    |  67 +++++++
 proscend/prosrc/www/app/locale-en.json            |  25 +++
 proscend/prosrc/www/app/locale-fr.json            |  25 +++
 proscend/prosrc/www/app/locale-zh-tw.json         |  25 +++
 proscend/prosrc/www/app/services/icos.service.js  |  11 ++
 proscend/prosrc/www/src/index.html.src            |   5 +-
 proscend/prosrc/www/src/manual.html.src           |   7 +-
 proscend/prosrc/www/src/manual/ipv6_config.h.html |  49 +++++
 proscend/prosrc/www/src/manual/sidebar.h.html     |  19 +-
 proscend/prosrc/www/src/menu.html.src             |  20 +-
 13 files changed, 646 insertions(+), 9 deletions(-)

1740

M360P - task - [100%] P1 - wen ui: no redirect for simple password

commit 009ca0b5d91b368901f3ba4a536bc5490273d67c
Refs: [hotfix/v1.08], {origin/hotfix/v1.08}
Author: jeffrey <[email protected]>
Date:   Mon Jun 15 17:40:19 2020 +0800

    no more redirect to administration page after login if password is 'admin'

 proscend/prosrc/www/app/feature/login.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)