20200115_jeffrey - silenceuncrio/diary GitHub Wiki

0900

review

1115

Status 頁面的 WAN DNS 重構完成 - 相當清爽

m330[release/v0.08] - refactoring the 'WAN DNS' at status page

commit a72e8332cb7bba67f620052a0b5d83be13090bd8
Refs: [release/v0.08], {origin/release/v0.08}
Author: jeffrey <[email protected]>
Date:   Wed Jan 15 11:13:09 2020 +0800

    refactoring the 'WAN DSN' at status page
    - concern all case of wan priority

 proscend/prosrc/webcgi/status.c                    |  33 +++
 proscend/prosrc/www/app/feature/status.wandns.html |  23 +++
 .../www/app/feature/status.wandns_second.html      |  23 +++
 proscend/prosrc/www/app/locale-en.json             |  16 +-
 proscend/prosrc/www/app/locale-fr.json             |  16 +-
 proscend/prosrc/www/app/locale-zh-tw.json          |   6 +-
 .../prosrc/www/src/app/feature/status.html.src     | 228 +++------------------
 7 files changed, 127 insertions(+), 218 deletions(-)

1330

gre interface 的 up/down 影響的還有 static route 和 policy route 這兩個 module

相關負責人表示他們沒辦法像 ecmp 這樣得知 interface 的狀態

我需要主動發 event 出去

1400

gre 還是有 bug

以下面的測試環境而言

+-------+                   +-----------+                   +-------+
|       | wan ethernet      |           |      wan ethernet |       |
| m330  +-------------------+ switch    +-------------------+ m330  |
|       | 192.168.0.177     |           |     192.168.0.178 |       |
+-------+                   +-----------+                   +-------+

wan ethernet 是 Static IPv4

剛開機會發現 grek 有時會起不來

例如在 m330 - 192.168.0.178 與 switch 間的網路線拔掉的狀況下

執行下述 grek command 會出現錯誤

root@Cellular Router:~# grek -d eth1 -t gre1 -i 0 -l 192.168.0.178 -r 192.168.0.
177
DEVICE: "eth1"
TUNNEL: "gre1"
Tunnel index: 0
Local address: "192.168.0.178"
Remote address: "192.168.0.177"
Use the default keepalive period: 10 seconds
Use the default keepalive retries: 3 times
a raw socket with GRE protocol is created.
checksum: 0xf7f3
Timer ID: 8601608 ()
Couldn't get netmask for device eth1: eth1: no IPv4 address assigned

我要有辦法在這個狀況下回應 apply error 才行

那像剛開機時我怎麼來克服掉這個問題呢

有什麼 event 可以拿來利用


先把主動發 event 出去的 code 上到 server 上

m330[release/v0.08] - broadcast event when gre interface up/down

commit 15ee8acddfc6aedce20094227fd6720f810f86d4
Refs: [release/v0.08], {origin/release/v0.08}
Author: jeffrey <[email protected]>
Date:   Wed Jan 15 14:18:20 2020 +0800

    broadcast event when gre interface up/down

 proscend/prosrc/icos/greK/main.c             | 12 ++++++++++++
 proscend/prosrc/icos/icoslib/gre_3g/gre_3g.c | 24 ++++++++++++++++++++++--
 2 files changed, 34 insertions(+), 2 deletions(-)

1430

m330[release/v0.08] - update the release note

commit 7d3b707646c7927d947bc811f340512436be72a6
Refs: [release/v0.08], {origin/release/v0.08}
Author: jeffrey <[email protected]>
Date:   Wed Jan 15 14:29:59 2020 +0800

    update the release note
    - Dual GRE with keepalive as CISCO specified

 M330-ReleaseNotes.txt             | 3 +--
 M330-ReleaseNotes_CTCU.txt        | 3 +--
 M330-ReleaseNotes_HYTEC.txt       | 3 +--
 M330-ReleaseNotes_HYTEC_KOREA.txt | 3 +--
 M330-ReleaseNotes_PI.txt          | 3 +--
 5 files changed, 5 insertions(+), 10 deletions(-)

1445

john 表示我可以利用 ICOS_WETH_LINK_UP 這個 event

而且不要在使用者 apply 時 return error

而是要在後續再依賴適當的 event 把 gre 帶起來


m330[release/v0.08] - while receive event ICOS_WETH_LINK_UP, apply gre again

commit f202a88abe72596a8ab6798ab4abe7fc88a4fd44
Refs: [release/v0.08], {origin/release/v0.08}
Author: jeffrey <[email protected]>
Date:   Wed Jan 15 15:10:09 2020 +0800

    while receive event ICOS_WETH_LINK_UP, apply gre again

 proscend/prosrc/icos/icoslib/gre_3g/gre_3g.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

1515

jessy 說他修正了 policy route 的部分

我來測測看

up 的時候 policy route 正確的出現 active 的狀態

不過 down 的時候 - 去跟 policy route 要狀態的 CGI 直接 500 internal error


ICOS_WETH_LINK_UP 收到的當下並不表示已經有 ip 了

grek 還是會失敗

john 表示我可以用 ICOS_WAN_IP_UPDATE 這個 event

馬上改來試試看

1635

jessy 說他改好了

不過我目前也還在修正一些小問題


修正好了一些小問題

m330[release/v0.08] - in gre, use event ICOS_WAN_IP_UPDATE to replace ICOS_WAN_GATEWAY_UPDATE and ICOS_WETH_LINK_UP

commit 7a5d014cc1d10dd960479bc0df5bc08a696a8215
Refs: [release/v0.08], {origin/release/v0.08}
Author: jeffrey <[email protected]>
Date:   Wed Jan 15 17:01:27 2020 +0800

    in gre, use event ICOS_WAN_IP_UPDATE to replace ICOS_WAN_GATEWAY_UPDATE and ICOS_WETH_LINK_UP

 proscend/prosrc/icos/Makefile                |  2 +-
 proscend/prosrc/icos/icoslib/gre_3g/gre_3g.c | 35 ++++++++++++++++++++++++----
 2 files changed, 32 insertions(+), 5 deletions(-)

馬上來試試 jessy 修好了沒

jessy 修好了

看來明天的 release 應該沒啥問題了