Page MenuHomePhabricator

wireguard - Interface wg01 could not be brought up in time
Closed, ResolvedPublicBUG

Description

[ interfaces wireguard wg01 ]
Interface wg01 could not be brought up in time ...

ip a l dev wg01
6: wg01: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 10.100.100.2/32 scope global wg01
       valid_lft forever preferred_lft forever
interface: wg01
  public key: ucYbVoJodRE6QtKjEJOppB6rcoMAfC6wanfgGdff1g8=
  private key: (hidden)
  listening port: 12345

peer: LrSToNEmCOP8kMsyZs3wzm7jyKJzQFtOIBLuyluynSo=
  endpoint: 10.1.1.11:12345
  allowed ips: 10.100.100.1/32
  latest handshake: 34 seconds ago
  transfer: 604 B received, 692 B sent

So, the tunnel is up and working. Vyos shows it as up as well.

set and del disable the interface takes quite some time and shows the same error messages, which is in reality no issue at all.

Details

Difficulty level
Easy (less than an hour)
Version
1.2-rolling
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible

Event Timeline

hagbard claimed this task.Oct 10 2019, 10:25 PM
hagbard created this task.
hagbard updated the task description. (Show Details)Oct 10 2019, 10:29 PM
hagbard updated the task description. (Show Details)Oct 10 2019, 10:32 PM

https://github.com/vyos/vyos-1x/commit/1257d7851866d42287018b38dd871f279b87286a

@cpo operstate will be unknown for wg interfaces, I think it's the only interface type having unknown. Anything else should be up or down, I think. I can re-implement with the wg class if that's better.
Let me know what you think, wg is working with no issues, so functionality isn't an issue here.

hagbard triaged this task as Normal priority.Oct 10 2019, 10:40 PM
hagbard changed Difficulty level from Unknown (require assessment) to Easy (less than an hour).
c-po added a subscriber: c-po.Oct 11 2019, 3:40 AM

I‘d simply override the set_state() function in derived WireGuard Class without that check. If more interface have this (possibly VXLAN) it could be added to baseclass with a flag that the particular code is not executed.

I‘d add it as a flag in base class as we never know what thw other interfaces like l2tpv3 bring.

hagbard closed this task as Resolved.Oct 11 2019, 4:51 PM

Looks like it has changed already in ifconfig.py. Tested it successfully as well.
https://github.com/vyos/vyos-1x/commit/f5c04661e6c031baedb6092ecafee501cca7bc28#diff-def38e05f2ac1eb35139b37ec8d47338R1375

hagbard moved this task from Need Triage to Finished on the VyOS 1.3 Equuleus board.