bgp: fix bug of receiving 'RouteRefresh' Message
bgp: fix bug of receiving 'RouteRefresh' Message

When Ryu BGP received 'RouteRefresh' Message from the peering router, BGP session has closed as follows .

DEBUG 2014-08-15 02:20:08,718 speaker 447 Received msg from ('192.168.100.100', '34939') << BGPRouteRefresh(afi=1,demarcation=1,len=23,safi=128,type=5)
DEBUG 2014-08-15 02:20:08,719 speaker 566 Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/speaker.py", line 560, in _recv_loop
    self.data_received(next_bytes)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/speaker.py", line 275, in data_received
    self._data_received(next_bytes)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/speaker.py", line 355, in _data_received
    self._handle_msg(msg)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/speaker.py", line 508, in _handle_msg
    self._peer.handle_msg(msg)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/peer.py", line 1585, in handle_msg
    self._handle_route_refresh_msg(msg)
  File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/peer.py", line 1619, in _handle_route_refresh_msg
    afi = msg.route_family.afi
AttributeError: 'BGPRouteRefresh' object has no attribute 'route_family'

INFO 2014-08-15 02:20:08,722 peer 1901 Connection to peer 192.168.100.100 lost, reason: 'BGPRouteRefresh' object has no attribute 'route_family' Resetting retry connect loop: False

Signed-off-by: Toshiki Tsuboi <3612e803c7a6187f9767b9f153add7d8be62b078@gmail.com>
Signed-off-by: FUJITA Tomonori <93dac1fe9c4b2a3957982200319981492ad4976e@lab.ntt.co.jp>

takahashiminoru/ryu,pichuang/ryu,jalilm/ryu,elahejalalpour/ELRyu,Tejas-Subramanya/RYU_MEC,lagopus/ryu-lagopus-ext,zyq001/ryu,ttsubo/ryu,ysywh/ryu,hisaharu/ryu,darjus-amzn/ryu,John-Lin/ryu,habibiefaried/ryu,ttsubo/ryu,darjus-amzn/ryu,umkcdcrg01/ryu_openflow,ttsubo/ryu,OpenState-SDN/ryu,pichuang/ryu,lzppp/mylearning,zyq001/ryu,haniehrajabi/ryu,Tesi-Luca-Davide/ryu,alanquillin/ryu,fujita/ryu,castroflavio/ryu,OpenState-SDN/ryu,yamt/ryu,lzppp/mylearning,iwaseyusuke/ryu,John-Lin/ryu,takahashiminoru/ryu,StephenKing/summerschool-2015-ryu,TakeshiTseng/ryu,hisaharu/ryu,darjus-amzn/ryu,lsqtongxin/ryu,umkcdcrg01/ryu_openflow,muzixing/ryu,ttsubo/ryu,takahashiminoru/ryu,jalilm/ryu,sivaramakrishnansr/ryu,openvapour/ryu,muzixing/ryu,iwaseyusuke/ryu,Tejas-Subramanya/RYU_MEC,lagopus/ryu-lagopus-ext,zyq001/ryu,openvapour/ryu,gopchandani/ryu,habibiefaried/ryu,elahejalalpour/ELRyu,umkcdcrg01/ryu_openflow,gareging/SDN_Framework,zangree/ryu,lagopus/ryu-lagopus-ext,fkakuma/ryu,jalilm/ryu,pichuang/ryu,yamt/ryu,alyosha1879/ryu,shinpeimuraoka/ryu,muzixing/ryu,jalilm/ryu,alanquillin/ryu,lsqtongxin/ryu,shinpeimuraoka/ryu,OpenState-SDN/ryu,StephenKing/summerschool-2015-ryu,shinpeimuraoka/ryu,zangree/ryu,lsqtongxin/ryu,iwaseyusuke/ryu,sivaramakrishnansr/ryu,StephenKing/summerschool-2015-ryu,John-Lin/ryu,diogommartins/ryu,jkoelker/ryu,lzppp/mylearning,takahashiminoru/ryu,gopchandani/ryu,darjus-amzn/ryu,gareging/SDN_Framework,alanquillin/ryu,lagopus/ryu-lagopus-ext,lzppp/mylearning,zangree/ryu,fkakuma/ryu,alyosha1879/ryu,fujita/ryu,ysywh/ryu,zyq001/ryu,Tejas-Subramanya/RYU_MEC,takahashiminoru/ryu,ynkjm/ryu,StephenKing/summerschool-2015-ryu,evanscottgray/ryu,Zouyiran/ryu,ynkjm/ryu,StephenKing/ryu,osrg/ryu,hisaharu/ryu,castroflavio/ryu,diogommartins/ryu,osrg/ryu,TakeshiTseng/ryu,umkcdcrg01/ryu_openflow,OpenState-SDN/ryu,fkakuma/ryu,TakeshiTseng/ryu,alanquillin/ryu,StephenKing/ryu,gopchandani/ryu,pichuang/ryu,diogommartins/ryu,shinpeimuraoka/ryu,ysywh/ryu,yamt/ryu,jkoelker/ryu,fujita/ryu,zyq001/ryu,StephenKing/ryu,fujita/ryu,Tesi-Luca-Davide/ryu,ynkjm/ryu,gareging/SDN_Framework,TakeshiTseng/ryu,ttsubo/ryu,Zouyiran/ryu,gareging/SDN_Framework,haniehrajabi/ryu,ynkjm/ryu,Zouyiran/ryu,openvapour/ryu,gareging/SDN_Framework,haniehrajabi/ryu,fujita/ryu,castroflavio/ryu,diogommartins/ryu,jazzmes/ryu,sivaramakrishnansr/ryu,alyosha1879/ryu,elahejalalpour/ELRyu,habibiefaried/ryu,Tesi-Luca-Davide/ryu,fkakuma/ryu,habibiefaried/ryu,darjus-amzn/ryu,ysywh/ryu,iwaseyusuke/ryu,yamt/ryu,hisaharu/ryu,diogommartins/ryu,Tesi-Luca-Davide/ryu,StephenKing/summerschool-2015-ryu,jalilm/ryu,evanscottgray/ryu,TakeshiTseng/ryu,StephenKing/ryu,ynkjm/ryu,lsqtongxin/ryu,habibiefaried/ryu,Tejas-Subramanya/RYU_MEC,haniehrajabi/ryu,hisaharu/ryu,lagopus/ryu-lagopus-ext,StephenKing/ryu,yamt/ryu,elahejalalpour/ELRyu,muzixing/ryu,Zouyiran/ryu,lzppp/mylearning,openvapour/ryu,John-Lin/ryu,openvapour/ryu,alanquillin/ryu,sivaramakrishnansr/ryu,elahejalalpour/ELRyu,evanscottgray/ryu,osrg/ryu,ysywh/ryu,iwaseyusuke/ryu,Tesi-Luca-Davide/ryu,John-Lin/ryu,Zouyiran/ryu,Tejas-Subramanya/RYU_MEC,haniehrajabi/ryu,muzixing/ryu,jazzmes/ryu,osrg/ryu,shinpeimuraoka/ryu,zangree/ryu,gopchandani/ryu,pichuang/ryu,jazzmes/ryu,alyosha1879/ryu,sivaramakrishnansr/ryu,zangree/ryu,fkakuma/ryu,osrg/ryu,lsqtongxin/ryu,OpenState-SDN/ryu,jkoelker/ryu,gopchandani/ryu,umkcdcrg01/ryu_openflow