summaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-01-16 14:24:49 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-01-16 14:24:49 +0900
commit3dc69c99b0dcbaa221ae3fd011af8bbb9f04a1d4 (patch)
tree329761ab60b545c1633d3aac58edbaef91aae8aa /server
parent7d95d771ff4a4e44f005d454312c87ae4fe9d322 (diff)
packet: handle malformed BGP Header
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'server')
-rw-r--r--server/fsm.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/server/fsm.go b/server/fsm.go
index 81050b31..fcc4adfb 100644
--- a/server/fsm.go
+++ b/server/fsm.go
@@ -205,7 +205,15 @@ func (h *FSMHandler) recvMessageWithError() error {
hd := &bgp.BGPHeader{}
err = hd.DecodeFromBytes(headerBuf)
if err != nil {
- h.errorCh <- true
+ log.WithFields(log.Fields{
+ "Topic": "Peer",
+ "Key": h.fsm.peerConfig.NeighborAddress,
+ "error": err,
+ }).Warn("malformed BGP Header")
+ h.msgCh <- &fsmMsg{
+ MsgType: FSM_MSG_BGP_MESSAGE,
+ MsgData: err,
+ }
return err
}