Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BGP w/OVN: nexthop value not synchronised across cluster nodes #14531

Open
jsimpso opened this issue Nov 26, 2024 · 2 comments
Open

BGP w/OVN: nexthop value not synchronised across cluster nodes #14531

jsimpso opened this issue Nov 26, 2024 · 2 comments
Assignees
Milestone

Comments

@jsimpso
Copy link

jsimpso commented Nov 26, 2024

Required information

  • Distribution: snap
  • Distribution version: 5.21.2-084c8c8
  • The output of "snap list --all lxd core20 core22 core24 snapd":
    jsimpso@mc-001:~$ snap list --all lxd core20 core22 core24 snapd
    Name    Version         Rev    Tracking       Publisher   Notes
    core22  20241001        1663   latest/stable  canonical✓  base
    core24  20240920        609    latest/stable  canonical✓  base
    lxd     5.21.2-084c8c8  31214  5.21/stable    canonical✓  in-cohort
    snapd   2.63            21759  latest/stable  canonical✓  snapd
    
  • The output of "lxc info" or if that fails:
     config:
       cluster.https_address: 10.0.25.10:8443
       core.bgp_address: 10.0.25.10
       core.bgp_asn: "64512"
       core.bgp_routerid: 10.0.25.10
       core.https_address: '[::]:8443'
       network.ovn.northbound_connection: ssl:10.0.25.10:6641,ssl:10.0.25.11:6641,ssl:10.0.25.12:6641
     api_extensions:
     - storage_zfs_remove_snapshots
     - container_host_shutdown_timeout
     - container_stop_priority
     - container_syscall_filtering
     - auth_pki
     - container_last_used_at
     - etag
     - patch
     - usb_devices
     - https_allowed_credentials
     - image_compression_algorithm
     - directory_manipulation
     - container_cpu_time
     - storage_zfs_use_refquota
     - storage_lvm_mount_options
     - network
     - profile_usedby
     - container_push
     - container_exec_recording
     - certificate_update
     - container_exec_signal_handling
     - gpu_devices
     - container_image_properties
     - migration_progress
     - id_map
     - network_firewall_filtering
     - network_routes
     - storage
     - file_delete
     - file_append
     - network_dhcp_expiry
     - storage_lvm_vg_rename
     - storage_lvm_thinpool_rename
     - network_vlan
     - image_create_aliases
     - container_stateless_copy
     - container_only_migration
     - storage_zfs_clone_copy
     - unix_device_rename
     - storage_lvm_use_thinpool
     - storage_rsync_bwlimit
     - network_vxlan_interface
     - storage_btrfs_mount_options
     - entity_description
     - image_force_refresh
     - storage_lvm_lv_resizing
     - id_map_base
     - file_symlinks
     - container_push_target
     - network_vlan_physical
     - storage_images_delete
     - container_edit_metadata
     - container_snapshot_stateful_migration
     - storage_driver_ceph
     - storage_ceph_user_name
     - resource_limits
     - storage_volatile_initial_source
     - storage_ceph_force_osd_reuse
     - storage_block_filesystem_btrfs
     - resources
     - kernel_limits
     - storage_api_volume_rename
     - network_sriov
     - console
     - restrict_devlxd
     - migration_pre_copy
     - infiniband
     - maas_network
     - devlxd_events
     - proxy
     - network_dhcp_gateway
     - file_get_symlink
     - network_leases
     - unix_device_hotplug
     - storage_api_local_volume_handling
     - operation_description
     - clustering
     - event_lifecycle
     - storage_api_remote_volume_handling
     - nvidia_runtime
     - container_mount_propagation
     - container_backup
     - devlxd_images
     - container_local_cross_pool_handling
     - proxy_unix
     - proxy_udp
     - clustering_join
     - proxy_tcp_udp_multi_port_handling
     - network_state
     - proxy_unix_dac_properties
     - container_protection_delete
     - unix_priv_drop
     - pprof_http
     - proxy_haproxy_protocol
     - network_hwaddr
     - proxy_nat
     - network_nat_order
     - container_full
     - backup_compression
     - nvidia_runtime_config
     - storage_api_volume_snapshots
     - storage_unmapped
     - projects
     - network_vxlan_ttl
     - container_incremental_copy
     - usb_optional_vendorid
     - snapshot_scheduling
     - snapshot_schedule_aliases
     - container_copy_project
     - clustering_server_address
     - clustering_image_replication
     - container_protection_shift
     - snapshot_expiry
     - container_backup_override_pool
     - snapshot_expiry_creation
     - network_leases_location
     - resources_cpu_socket
     - resources_gpu
     - resources_numa
     - kernel_features
     - id_map_current
     - event_location
     - storage_api_remote_volume_snapshots
     - network_nat_address
     - container_nic_routes
     - cluster_internal_copy
     - seccomp_notify
     - lxc_features
     - container_nic_ipvlan
     - network_vlan_sriov
     - storage_cephfs
     - container_nic_ipfilter
     - resources_v2
     - container_exec_user_group_cwd
     - container_syscall_intercept
     - container_disk_shift
     - storage_shifted
     - resources_infiniband
     - daemon_storage
     - instances
     - image_types
     - resources_disk_sata
     - clustering_roles
     - images_expiry
     - resources_network_firmware
     - backup_compression_algorithm
     - ceph_data_pool_name
     - container_syscall_intercept_mount
     - compression_squashfs
     - container_raw_mount
     - container_nic_routed
     - container_syscall_intercept_mount_fuse
     - container_disk_ceph
     - virtual-machines
     - image_profiles
     - clustering_architecture
     - resources_disk_id
     - storage_lvm_stripes
     - vm_boot_priority
     - unix_hotplug_devices
     - api_filtering
     - instance_nic_network
     - clustering_sizing
     - firewall_driver
     - projects_limits
     - container_syscall_intercept_hugetlbfs
     - limits_hugepages
     - container_nic_routed_gateway
     - projects_restrictions
     - custom_volume_snapshot_expiry
     - volume_snapshot_scheduling
     - trust_ca_certificates
     - snapshot_disk_usage
     - clustering_edit_roles
     - container_nic_routed_host_address
     - container_nic_ipvlan_gateway
     - resources_usb_pci
     - resources_cpu_threads_numa
     - resources_cpu_core_die
     - api_os
     - container_nic_routed_host_table
     - container_nic_ipvlan_host_table
     - container_nic_ipvlan_mode
     - resources_system
     - images_push_relay
     - network_dns_search
     - container_nic_routed_limits
     - instance_nic_bridged_vlan
     - network_state_bond_bridge
     - usedby_consistency
     - custom_block_volumes
     - clustering_failure_domains
     - resources_gpu_mdev
     - console_vga_type
     - projects_limits_disk
     - network_type_macvlan
     - network_type_sriov
     - container_syscall_intercept_bpf_devices
     - network_type_ovn
     - projects_networks
     - projects_networks_restricted_uplinks
     - custom_volume_backup
     - backup_override_name
     - storage_rsync_compression
     - network_type_physical
     - network_ovn_external_subnets
     - network_ovn_nat
     - network_ovn_external_routes_remove
     - tpm_device_type
     - storage_zfs_clone_copy_rebase
     - gpu_mdev
     - resources_pci_iommu
     - resources_network_usb
     - resources_disk_address
     - network_physical_ovn_ingress_mode
     - network_ovn_dhcp
     - network_physical_routes_anycast
     - projects_limits_instances
     - network_state_vlan
     - instance_nic_bridged_port_isolation
     - instance_bulk_state_change
     - network_gvrp
     - instance_pool_move
     - gpu_sriov
     - pci_device_type
     - storage_volume_state
     - network_acl
     - migration_stateful
     - disk_state_quota
     - storage_ceph_features
     - projects_compression
     - projects_images_remote_cache_expiry
     - certificate_project
     - network_ovn_acl
     - projects_images_auto_update
     - projects_restricted_cluster_target
     - images_default_architecture
     - network_ovn_acl_defaults
     - gpu_mig
     - project_usage
     - network_bridge_acl
     - warnings
     - projects_restricted_backups_and_snapshots
     - clustering_join_token
     - clustering_description
     - server_trusted_proxy
     - clustering_update_cert
     - storage_api_project
     - server_instance_driver_operational
     - server_supported_storage_drivers
     - event_lifecycle_requestor_address
     - resources_gpu_usb
     - clustering_evacuation
     - network_ovn_nat_address
     - network_bgp
     - network_forward
     - custom_volume_refresh
     - network_counters_errors_dropped
     - metrics
     - image_source_project
     - clustering_config
     - network_peer
     - linux_sysctl
     - network_dns
     - ovn_nic_acceleration
     - certificate_self_renewal
     - instance_project_move
     - storage_volume_project_move
     - cloud_init
     - network_dns_nat
     - database_leader
     - instance_all_projects
     - clustering_groups
     - ceph_rbd_du
     - instance_get_full
     - qemu_metrics
     - gpu_mig_uuid
     - event_project
     - clustering_evacuation_live
     - instance_allow_inconsistent_copy
     - network_state_ovn
     - storage_volume_api_filtering
     - image_restrictions
     - storage_zfs_export
     - network_dns_records
     - storage_zfs_reserve_space
     - network_acl_log
     - storage_zfs_blocksize
     - metrics_cpu_seconds
     - instance_snapshot_never
     - certificate_token
     - instance_nic_routed_neighbor_probe
     - event_hub
     - agent_nic_config
     - projects_restricted_intercept
     - metrics_authentication
     - images_target_project
     - cluster_migration_inconsistent_copy
     - cluster_ovn_chassis
     - container_syscall_intercept_sched_setscheduler
     - storage_lvm_thinpool_metadata_size
     - storage_volume_state_total
     - instance_file_head
     - instances_nic_host_name
     - image_copy_profile
     - container_syscall_intercept_sysinfo
     - clustering_evacuation_mode
     - resources_pci_vpd
     - qemu_raw_conf
     - storage_cephfs_fscache
     - network_load_balancer
     - vsock_api
     - instance_ready_state
     - network_bgp_holdtime
     - storage_volumes_all_projects
     - metrics_memory_oom_total
     - storage_buckets
     - storage_buckets_create_credentials
     - metrics_cpu_effective_total
     - projects_networks_restricted_access
     - storage_buckets_local
     - loki
     - acme
     - internal_metrics
     - cluster_join_token_expiry
     - remote_token_expiry
     - init_preseed
     - storage_volumes_created_at
     - cpu_hotplug
     - projects_networks_zones
     - network_txqueuelen
     - cluster_member_state
     - instances_placement_scriptlet
     - storage_pool_source_wipe
     - zfs_block_mode
     - instance_generation_id
     - disk_io_cache
     - amd_sev
     - storage_pool_loop_resize
     - migration_vm_live
     - ovn_nic_nesting
     - oidc
     - network_ovn_l3only
     - ovn_nic_acceleration_vdpa
     - cluster_healing
     - instances_state_total
     - auth_user
     - security_csm
     - instances_rebuild
     - numa_cpu_placement
     - custom_volume_iso
     - network_allocations
     - storage_api_remote_volume_snapshot_copy
     - zfs_delegate
     - operations_get_query_all_projects
     - metadata_configuration
     - syslog_socket
     - event_lifecycle_name_and_project
     - instances_nic_limits_priority
     - disk_initial_volume_configuration
     - operation_wait
     - cluster_internal_custom_volume_copy
     - disk_io_bus
     - storage_cephfs_create_missing
     - instance_move_config
     - ovn_ssl_config
     - init_preseed_storage_volumes
     - metrics_instances_count
     - server_instance_type_info
     - resources_disk_mounted
     - server_version_lts
     - oidc_groups_claim
     - loki_config_instance
     - storage_volatile_uuid
     - import_instance_devices
     - instances_uefi_vars
     - instances_migration_stateful
     - container_syscall_filtering_allow_deny_syntax
     - access_management
     - vm_disk_io_limits
     - storage_volumes_all
     - instances_files_modify_permissions
     - image_restriction_nesting
     - container_syscall_intercept_finit_module
     - device_usb_serial
     - network_allocate_external_ips
     - explicit_trust_token
     api_status: stable
     api_version: "1.0"
     auth: trusted
     public: false
     auth_methods:
     - tls
     auth_user_name: jsimpso
     auth_user_method: unix
     environment:
       addresses:
       - 10.0.25.10:8443
       architectures:
       - x86_64
       - i686
       certificate: |
         -----BEGIN CERTIFICATE-----
         MIIB5DCCAWqgAwIBAgIRAK/vWMdSjS44j1Bhp+adHwIwCgYIKoZIzj0EAwMwJDEM
         MAoGA1UEChMDTFhEMRQwEgYDVQQDDAtyb290QG1jLTAwMTAeFw0yNDExMjQwOTQ3
         MTBaFw0zNDExMjIwOTQ3MTBaMCQxDDAKBgNVBAoTA0xYRDEUMBIGA1UEAwwLcm9v
         dEBtYy0wMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARWbRkG9Ht7v0f7Z2i49Zdw
         EWXcSzMswnPCyUeQOVulI97yekk1KDNfcJbgEejn4TfKAQT1Qrw5lSCl+LXhQdmB
         Vlwam8t8OxNAIDz2mGUMuYANDcFJIbBZjq/+tNWM8TujYDBeMA4GA1UdDwEB/wQE
         AwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCkGA1UdEQQi
         MCCCBm1jLTAwMYcEfwAAAYcQAAAAAAAAAAAAAAAAAAAAATAKBggqhkjOPQQDAwNo
         ADBlAjAvQOfW1vSIejG80/0U14OW+5fMZIHdwKnZOBkFXrRh1z5pRhddzOWE8QGj
         jh1VluYCMQCcqxZh1u5SKbcp47h2OZK0CiDUQS/ML+y3gVY+k37L1PvlrLAG25wJ
         vALYZ81YfKQ=
         -----END CERTIFICATE-----
       certificate_fingerprint: 37ec2b324056d390fc3562e98362abee62523bb6d4f99484621c844b90dbd22a
       driver: lxc | qemu
       driver_version: 6.0.0 | 8.2.1
       instance_types:
       - container
       - virtual-machine
       firewall: nftables
       kernel: Linux
       kernel_architecture: x86_64
       kernel_features:
         idmapped_mounts: "true"
         netnsid_getifaddrs: "true"
         seccomp_listener: "true"
         seccomp_listener_continue: "true"
         uevent_injection: "true"
         unpriv_fscaps: "true"
       kernel_version: 6.8.0-49-generic
       lxc_features:
         cgroup2: "true"
         core_scheduling: "true"
         devpts_fd: "true"
         idmapped_mounts_v2: "true"
         mount_injection_file: "true"
         network_gateway_device_route: "true"
         network_ipvlan: "true"
         network_l2proxy: "true"
         network_phys_macvlan_mtu: "true"
         network_veth_router: "true"
         pidfd: "true"
         seccomp_allow_deny_syntax: "true"
         seccomp_notify: "true"
         seccomp_proxy_send_notify_fd: "true"
       os_name: Ubuntu
       os_version: "24.04"
       project: default
       server: lxd
       server_clustered: true
       server_event_mode: full-mesh
       server_name: mc-001
       server_pid: 1763
       server_version: 5.21.2
       server_lts: true
       storage: ""
       storage_version: ""
       storage_supported_drivers:
       - name: ceph
         version: 17.2.7
         remote: true
       - name: cephfs
         version: 17.2.7
         remote: true
       - name: cephobject
         version: 17.2.7
         remote: true
       - name: dir
         version: "1"
         remote: false
       - name: lvm
         version: 2.03.11(2) (2021-01-08) / 1.02.175 (2021-01-08) / 4.48.0
         remote: false
       - name: powerflex
         version: 1.16 (nvme-cli)
         remote: true
       - name: zfs
         version: 2.2.2-0ubuntu9
         remote: false
       - name: btrfs
         version: 5.16.2
         remote: false

Issue description

  • This is a MicroCloud deployed cross 3 physical nodes

  • I've configured BGP between LXD and the physical router in this lab network

  • The router is successfully receiving routes for the three networks I've created so far. However, one of those networks is showing different values for the next hop:

    jsimpso@rubidoux:~$ show bgp ipv4
    BGP table version is 49, local router ID is 10.0.25.1, vrf id 0
    Default local pref 100, local AS 64513
    Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
                   i internal, r RIB-failure, S Stale, R Removed
    Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
    Origin codes:  i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
        Network          Next Hop            Metric LocPrf Weight Path
     *  172.16.0.0/28    10.0.10.4                              0 64512 i
     *                   10.0.10.4                              0 64512 i
     *>                  10.0.10.4                              0 64512 i
     *  172.16.0.128/28  10.0.10.3                              0 64512 i
     *                   10.0.10.3                              0 64512 i
     *>                  10.0.10.3                              0 64512 i
     *= 172.16.1.0/25    10.0.25.11                             0 64512 i
     *=                  10.0.10.5                              0 64512 i
     *>                  10.0.25.10                             0 64512 i
    
    Displayed  3 routes and 9 total paths
    
  • Running lxc query internal/testing/bgp across the three nodes confirms that only one of them has the nexthop value set to the OVN router, the other two list "0.0.0.0".:

  • mc-001:

    {
            "peers": [
                    {
                            "address": "10.0.25.1",
                            "asn": 64513,
                            "count": 1,
                            "holdtime": 0,
                            "password": ""
                    }
            ],
            "prefixes": [
                    {
                            "nexthop": "10.0.10.3",
                            "owner": "network_3",
                            "prefix": "172.16.0.128/28"
                    },
                    {
                            "nexthop": "10.0.10.4",
                            "owner": "network_4",
                            "prefix": "172.16.0.0/28"
                    },
                    {
                            "nexthop": "0.0.0.0",
                            "owner": "network_5",
                            "prefix": "172.16.1.0/25"
                    }
            ],
            "server": {
                    "address": "10.0.25.10",
                    "asn": 64512,
                    "router_id": "10.0.25.10",
                    "running": true
            }
    }
  • mc-002:

    {
            "peers": [
                    {
                            "address": "10.0.25.1",
                            "asn": 64513,
                            "count": 1,
                            "holdtime": 0,
                            "password": ""
                    }
            ],
            "prefixes": [
                    {
                            "nexthop": "10.0.10.3",
                            "owner": "network_3",
                            "prefix": "172.16.0.128/28"
                    },
                    {
                            "nexthop": "10.0.10.4",
                            "owner": "network_4",
                            "prefix": "172.16.0.0/28"
                    },
                    {
                            "nexthop": "0.0.0.0",
                            "owner": "network_5",
                            "prefix": "172.16.1.0/25"
                    }
            ],
            "server": {
                    "address": "10.0.25.11",
                    "asn": 64512,
                    "router_id": "10.0.25.11",
                    "running": true
            }
    }
  • mc-003:

    {
            "peers": [
                    {
                            "address": "10.0.25.1",
                            "asn": 64513,
                            "count": 1,
                            "holdtime": 0,
                            "password": ""
                    }
            ],
            "prefixes": [
                    {
                            "nexthop": "10.0.10.3",
                            "owner": "network_3",
                            "prefix": "172.16.0.128/28"
                    },
                    {
                            "nexthop": "10.0.10.4",
                            "owner": "network_4",
                            "prefix": "172.16.0.0/28"
                    },
                    {
                            "nexthop": "10.0.10.5",
                            "owner": "network_5",
                            "prefix": "172.16.1.0/25"
                    }
            ],
            "server": {
                    "address": "10.0.25.12",
                    "asn": 64512,
                    "router_id": "10.0.25.12",
                    "running": true
            }
    }

Steps to reproduce

I seem to be able to trigger this behaviour by changing the configuration of the network. This issue occurred after I changed the MTU for the network from 1442 to 1500 for some unrelated troubleshooting. Changing the configuration back to its original state doesn't appear to have any positive effect.

I've just reproduced this by replicating that same change (editing the network's YAML configuration via the LXD UI) on network_4 from the above output, and now see the same situation there:

  • Router

    BGP table version is 53, local router ID is 10.0.25.1, vrf id 0
    Default local pref 100, local AS 64513
    Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
                   i internal, r RIB-failure, S Stale, R Removed
    Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
    Origin codes:  i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
        Network          Next Hop            Metric LocPrf Weight Path
     *= 172.16.0.0/28    10.0.25.11                             0 64512 i
     *=                  10.0.25.10                             0 64512 i
     *>                  10.0.10.4                              0 64512 i
     *  172.16.0.128/28  10.0.10.3                              0 64512 i
     *                   10.0.10.3                              0 64512 i
     *>                  10.0.10.3                              0 64512 i
     *= 172.16.1.0/25    10.0.25.11                             0 64512 i
     *=                  10.0.10.5                              0 64512 i
     *>                  10.0.25.10                             0 64512 i
    
    Displayed  3 routes and 9 total paths
    
  • mc-001:

    {
            "peers": [
                    {
                            "address": "10.0.25.1",
                            "asn": 64513,
                            "count": 1,
                            "holdtime": 0,
                            "password": ""
                    }
            ],
            "prefixes": [
                    {
                            "nexthop": "0.0.0.0",
                            "owner": "network_5",
                            "prefix": "172.16.1.0/25"
                    },
                    {
                            "nexthop": "10.0.10.3",
                            "owner": "network_3",
                            "prefix": "172.16.0.128/28"
                    },
                    {
                            "nexthop": "0.0.0.0",
                            "owner": "network_4",
                            "prefix": "172.16.0.0/28"
                    }
            ],
            "server": {
                    "address": "10.0.25.10",
                    "asn": 64512,
                    "router_id": "10.0.25.10",
                    "running": true
            }
    }
    
  • mc-002:

      {
              "peers": [
                      {
                              "address": "10.0.25.1",
                              "asn": 64513,
                              "count": 1,
                              "holdtime": 0,
                              "password": ""
                      }
              ],
              "prefixes": [
                      {
                              "nexthop": "10.0.10.3",
                              "owner": "network_3",
                              "prefix": "172.16.0.128/28"
                      },
                      {
                              "nexthop": "0.0.0.0",
                              "owner": "network_4",
                              "prefix": "172.16.0.0/28"
                      },
                      {
                              "nexthop": "0.0.0.0",
                              "owner": "network_5",
                              "prefix": "172.16.1.0/25"
                      }
              ],
              "server": {
                      "address": "10.0.25.11",
                      "asn": 64512,
                      "router_id": "10.0.25.11",
                      "running": true
              }
      }
  • mc-003:

    {
            "peers": [
                    {
                            "address": "10.0.25.1",
                            "asn": 64513,
                            "count": 1,
                            "holdtime": 0,
                            "password": ""
                    }
            ],
            "prefixes": [
                    {
                            "nexthop": "10.0.10.3",
                            "owner": "network_3",
                            "prefix": "172.16.0.128/28"
                    },
                    {
                            "nexthop": "10.0.10.4",
                            "owner": "network_4",
                            "prefix": "172.16.0.0/28"
                    },
                    {
                            "nexthop": "10.0.10.5",
                            "owner": "network_5",
                            "prefix": "172.16.1.0/25"
                    }
            ],
            "server": {
                    "address": "10.0.25.12",
                    "asn": 64512,
                    "router_id": "10.0.25.12",
                    "running": true
            }
    }
    
@tomponline tomponline self-assigned this Nov 26, 2024
@tomponline tomponline modified the milestones: lxd-6.2, lxd-6.3 Nov 26, 2024
@jsimpso
Copy link
Author

jsimpso commented Nov 28, 2024

In case it helps, it looks like restarting the LXD snap causes those values to re-sync:

jsimpso@mc-002:~$ lxc query /internal/testing/bgp
{
	"peers": [
		{
			"address": "10.0.25.1",
			"asn": 64513,
			"count": 1,
			"holdtime": 0,
			"password": ""
		}
	],
	"prefixes": [
		{
			"nexthop": "10.0.10.3",
			"owner": "network_3",
			"prefix": "172.16.0.128/28"
		},
		{
			"nexthop": "0.0.0.0",
			"owner": "network_4",
			"prefix": "172.16.0.0/28"
		},
		{
			"nexthop": "0.0.0.0",
			"owner": "network_5",
			"prefix": "172.16.1.0/25"
		}
	],
	"server": {
		"address": "10.0.25.11",
		"asn": 64512,
		"router_id": "10.0.25.11",
		"running": true
	}
}
jsimpso@mc-002:~$ sudo snap restart lxd
2024-11-28T11:07:48+08:00 INFO Waiting for "snap.lxd.daemon.service" to stop.
Restarted.
jsimpso@mc-002:~$ lxc query /internal/testing/bgp
{
	"peers": [
		{
			"address": "10.0.25.1",
			"asn": 64513,
			"count": 1,
			"holdtime": 0,
			"password": ""
		}
	],
	"prefixes": [
		{
			"nexthop": "10.0.10.4",
			"owner": "network_4",
			"prefix": "172.16.0.0/28"
		},
		{
			"nexthop": "10.0.10.5",
			"owner": "network_5",
			"prefix": "172.16.1.0/25"
		},
		{
			"nexthop": "10.0.10.3",
			"owner": "network_3",
			"prefix": "172.16.0.128/28"
		}
	],
	"server": {
		"address": "10.0.25.11",
		"asn": 64512,
		"router_id": "10.0.25.11",
		"running": true
	}
}

@tomponline
Copy link
Member

Thanks @jsimpso this is high on my list to work on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants