Skip to content

Ensure that DZD Interfaces can only be added to a single link onchain #1150

@ben-malbeclabs

Description

@ben-malbeclabs

An interface can be added to multiple links currently. If this happens, the controller overrides the interface's initial configuration and the initial link breaks. The way to recover from this looks to be to delete both the new and the original link, and recreate the initial link.

An interface should only be able to be added to a single link.

In the example below, chi-dz-dzd4 sw1/11/2 is added to two different links.

ubuntu@chi-dn-bm2:~$ doublezero link create wan --code dzd3-dzd4 --contributor co01 --side-a chi-dn-dzd3 --side-a-interface Vlan4001 --side-z **chi-dn-dzd4** --side-z-interface **Switch1/11/2** --bandwidth 10Gbps --mtu 2048 --delay-ms 1 --jitter-ms 1
Signature: 5HZKMaWeEsMXvfhNU1FuJMmD32FHV6tqXV7NpZiN8EA7CE7zrn7Bhs6HvaEDEJqUmdMW1ZggTN4JQhbKbbVtUKTo
ubuntu@chi-dn-bm2:~$ doublezero link list
 account                                      | code      | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | tunnel_id | tunnel_net     | status    | owner
 FUzgLv62FNBYTaztPAp5FJshKfH3sxcrXYmJhzqh7Rx5 | dzd3-dzd4 | co01        | chi-dn-dzd3 | Vlan4001          | **chi-dn-dzd4** | **Switch1/11/2**      | WAN       | 10Gbps    | 2048 | 1.00ms   | 1.00ms    | 0         | 172.16.0.0/31  | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan
 7vMEpCfxttSmjzubH1XftDEaC5im1kzbhYXa3S3YDmPA | dzd1-dzd2 | co01        | chi-dn-dzd1 | Switch1/11/2      | chi-dn-dzd2 | Switch1/11/2      | WAN       | 10Gbps    | 2048 | 1.00ms   | 1.00ms    | 1         | 172.16.0.12/31 | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan
 Dz54kCr8BP1cD8EvpC5V7j6w9cGFVBM684uNpr18HUJ7 | dzd1-dzd3 | co01        | chi-dn-dzd1 | Switch1/11/4      | chi-dn-dzd3 | Switch1/11/4      | WAN       | 10Gbps    | 2048 | 1.00ms   | 1.00ms    | 2         | 172.16.0.14/31 | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan
 CZymUewCXt52cRs9An5p3QKSVykiAB1fHjVUvNXKkmmd | dzd2-dzd4 | co01        | chi-dn-dzd2 | Switch1/11/4      | chi-dn-dzd4 | Switch1/11/4      | WAN       | 10Gbps    | 2048 | 1.00ms   | 1.00ms    | 3         | 172.16.0.16/31 | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan
 6q2xnX9m6i3UhaWPRseJT78ejWbfQ18CRfV3TZmJLwU8 | dzd3-dzd4 | co01        | chi-dn-dzd3 | Switch1/11/2      | **chi-dn-dzd4** | **Switch1/11/2**      | WAN       | 10Gbps    | 2048 | 1.00ms   | 1.00ms    | 4         | 172.16.0.18/31 | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan
ubuntu@chi-dn-bm2:~$ doublezero link delete --pubkey 2JiGxF8idGNQ4HPoDR5JAY6sqDJ4PyPFXLR3uCZohBZZ
Signature: 3QSujYSNSxZQCmJr2WhePYiZTw5UjSZTtEX8a41HhkswNMriCCETE7Q1FXxQM9KEP8aYMbLKWjvVLiyG1iVJnUe2
ubuntu@chi-dn-bm2:~$ doublezero device interface list chi-dn-dzd4
 name         | interface_type | loopback_type | vlan_id | ip_net         | node_segment_idx | user_tunnel_endpoint
 Loopback256  | loopback       | ipv4          | 0       | 172.16.0.8/32  | 0                | false
 **Switch1/11/2** | physical       | none          | 0       | **0.0.0.0/0**      | 0                | false
 Switch1/11/4 | physical       | none          | 0       | 172.16.0.17/31 | 0                | false
 Vlan4001     | physical       | none          | 0       | 0.0.0.0/0      | 0                | false
 loopback255  | loopback       | vpnv4         | 0       | 172.16.0.5/32  | 2                | false
ubuntu@chi-dn-bm2:~$ doublezero link create wan --code dzd3-dzd4 --contributor co01 --side-a chi-dn-dzd3 --side-a-interface Switch1/11/2 --side-z chi-dn-dzd4 --side-z-interface Switch1/11/2 --bandwidth 10Gbps --mtu 2048 --delay-ms 1 --jitter-ms 1
Signature: 3CbgGaP2XK33sTza49NdXCp3DDbDzFEaKvPh2er6KguTPKGNDxoMBZaMw1YTSQVtPBCsKNC8Ga74KmqGhMBG8FWz
ubuntu@chi-dn-bm2:~$ doublezero device interface list chi-dn-dzd4
 name         | interface_type | loopback_type | vlan_id | ip_net         | node_segment_idx | user_tunnel_endpoint
 Loopback256  | loopback       | ipv4          | 0       | 172.16.0.8/32  | 0                | false
 Switch1/11/2 | physical       | none          | 0       | 172.16.0.1/31  | 0                | false
 Switch1/11/4 | physical       | none          | 0       | 172.16.0.17/31 | 0                | false
 loopback255  | loopback       | vpnv4         | 0       | 172.16.0.5/32  | 2                | false

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions