Hello, I'm trying to get the neutron-bgp-dragent that is delivered by the neutron-dynamic-routing project to work.
I've gotten it to open a BGP peer session without any issues but the no BGP UPDATE messages seems to be sent from the neutron-bgp-dragent daemon. I'm having a BGP peer with a machine running FreeBSD 11 with OpenBGPD, my goals is being able to announce IPv6 over IPv4 peers which should work but I'm unsure if python-ryu supports this. [root@controller ~]# openstack bgp speaker show bgp-speaker-ipv6 +-----------------------------------+-------------------------------------------+ | Field | Value | +-----------------------------------+-------------------------------------------+ | advertise_floating_ip_host_routes | False | | advertise_tenant_networks | True | | id | d22b30f2-50fe-49eb-9577-77cceb3fcc81 | | ip_version | 6 | | local_as | 64600 | | name | bgp-speaker-ipv6 | | networks | [u'fdcead67-8a12-42fe-a31d-8cb3a03d8ee0'] | | peers | [u'b42d808f-c2ef-41e7-93b5-859a51cf6a36'] | | project_id | 050c556faa5944a8953126c867313770 | | tenant_id | 050c556faa5944a8953126c867313770 | +-----------------------------------+-------------------------------------------+ [root@controller ~]# openstack bgp peer show b42d808f-c2ef-41e7-93b5-859a51cf6a36 +------------+--------------------------------------+ | Field | Value | +------------+--------------------------------------+ | auth_type | none | | id | b42d808f-c2ef-41e7-93b5-859a51cf6a36 | | name | bgp-peer-1 | | peer_ip | 172.20.x.y | | project_id | 050c556faa5944a8953126c867313770 | | remote_as | xxxx | | tenant_id | 050c556faa5944a8953126c867313770 | +------------+--------------------------------------+ [root@controller ~]# openstack bgp speaker list advertised routes bgp-speaker-ipv6 +----+--------------------+--------------+ | ID | Destination | Nexthop | +----+--------------------+--------------+ | | xxxx:xxxx:0:1::/64 | xxxx:xxxx::f | +----+--------------------+--------------+ 2018-07-30 19:00:57.302 2143006 INFO neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver [-] Initializing Ryu driver for BGP Speaker functionality. 2018-07-30 19:00:57.302 2143006 INFO neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver [-] Initialized Ryu BGP Speaker driver interface with bgp_router_id=172.20.zz.yy 2018-07-30 19:00:57.351 2143006 INFO neutron_dynamic_routing.services.bgp.agent.bgp_dragent [-] BGP dynamic routing agent started 2018-07-30 19:00:57.450 2143006 INFO bgpspeaker.api.base [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] API method core.start called with args: {'router_id': '172.20.zz.yy', 'label_range': (100, 100000), 'waiter': <ryu.lib.hub.Event object at 0x7f3448774510>, 'bgp_server_port': 0, 'local_as': 64600, 'allow_local_as_in_count': 0, 'refresh_stalepath_time': 0, 'cluster_id': None, 'local_pref': 100, 'refresh_max_eor_time': 0} 2018-07-30 19:00:57.455 2143006 INFO neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] Added BGP Speaker for local_as=64600 with router_id= 172.20.zz.yy. 2018-07-30 19:00:57.456 2143006 INFO bgpspeaker.api.base [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] API method neighbor.create called with args: {'connect_mode': 'active', 'cap_mbgp_evpn': False, 'remote_as': 35041, 'cap_mbgp_vpnv6': False, 'cap_mbgp_l2vpnfs': False, 'cap_four_octet_as_number': True, 'cap_mbgp_ipv6': False, 'is_next_hop_self': False, 'cap_mbgp_ipv4': True, 'cap_mbgp_ipv4fs': False, 'is_route_reflector_client': False, 'cap_mbgp_ipv6fs': False, 'is_route_server_client': False, 'cap_enhanced_refresh': False, 'peer_next_hop': None, 'password': None, 'ip_address': u'172.20.x.y', 'cap_mbgp_vpnv4fs': False, 'cap_mbgp_vpnv4': False, 'cap_mbgp_vpnv6fs': False} 2018-07-30 19:00:57.456 2143006 INFO neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] Added BGP Peer 172.20.x.y for remote_as=xxxx to BGP Speaker running for local_as=64600. 2018-07-30 19:00:57.457 2143006 INFO bgpspeaker.api.base [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] API method network.add called with args: {'prefix': u'xxxx:xxxx:0:1::/64', 'next_hop': u'2a05:4545::f'} 2018-07-30 19:00:57.457 2143006 INFO neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] Route cidr=xxxx:xxxx:0:1::/64, nexthop=xxxx:xxxx::f is advertised for BGP Speaker running for local_as=64600. 2018-07-30 19:00:58.460 2143006 INFO bgpspeaker.peer [-] Connection to peer: 172.20.zz.yy established 2018-07-30 19:00:58.460 2143006 INFO neutron_dynamic_routing.services.bgp.agent.driver.ryu.driver [-] BGP Peer my.peer.id for remote_as=xxxx is UP. On the router side the peer is up but there is no BGP UPDATE messages so I don't get any prefixes. root@router:~ # bgpctl show sum Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd controllername 64600 488 491 0 00:02:20 0 root@dr20-1-sto1:~ # bgpctl show neighbor 172.20.104.192 BGP neighbor is 172.20.zz.yy, remote AS 64600 Description: controllername BGP version 4, remote router-id 172.20.zz.yy BGP state = Established, up for 00:03:03 Last read 00:00:01, holdtime 40s, keepalive interval 13s Neighbor capabilities: Multiprotocol extensions: IPv4 unicast Route Refresh 4-byte AS numbers Message statistics: Sent Received Opens 6 6 Notifications 0 0 Updates 0 0 Keepalives 489 486 Route Refresh 0 0 Total 495 492 Update statistics: Sent Received Updates 0 0 Withdraws 0 0 End-of-Rib 0 0 I'm wondering if this might be something related to the neighbor capabilities that is announces, see the output below and from the neutron-bgp-dragent log we can see this capabilities: 2018-07-30 19:00:57.456 2143006 INFO bgpspeaker.api.base [req-f15418e8-731b-4ebe-82a9-e2933e8df8b7 - - - - -] API method neighbor.create called with args: {'connect_mode': 'active', 'cap_mbgp_evpn': False, 'remote_as': 35041, 'cap_mbgp_vpnv6': False, 'cap_mbgp_l2vpnfs': False, 'cap_four_octet_as_number': True, 'cap_mbgp_ipv6': False, 'is_next_hop_self': False, 'cap_mbgp_ipv4': True, 'cap_mbgp_ipv4fs': False, 'is_route_reflector_client': False, 'cap_mbgp_ipv6fs': False, 'is_route_server_client': False, 'cap_enhanced_refresh': False, 'peer_next_hop': None, 'password': None, 'ip_address': u'172.20.x.y', 'cap_mbgp_vpnv4fs': False, 'cap_mbgp_vpnv4': False, 'cap_mbgp_vpnv6fs': False} Here is an example on how the bgpd.conf looks like: group "peering AS64600" { remote-as 64600 softreconfig in yes transparent-as yes neighbor 172.20.zz.yy { announce none announce IPv6 unicast descr "controller" local-address 172.20.x.x depend on vlan10 } If I interpret the IPv6 section in this document correctly https://docs.openstack.org/mitaka/networking-guide/config-bgp-dynamic-routing.html it should work. Anybody have any ideas or know if it's supported? Appreciate any help or pointers. Best regards _______________________________________________ OpenStack-operators mailing list OpenStack-operators@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators