Re: [PATCH net-next v8 03/24] ovpn: add basic netlink support

From: Jiri Pirko
Date: Mon Oct 07 2024 - 11:33:13 EST


Wed, Oct 02, 2024 at 11:02:17AM CEST, antonio@xxxxxxxxxxx wrote:

[...]


>+operations:
>+ list:
>+ -
>+ name: dev-new
>+ attribute-set: ovpn
>+ flags: [ admin-perm ]
>+ doc: Create a new interface of type ovpn
>+ do:
>+ request:
>+ attributes:
>+ - ifname
>+ - mode
>+ reply:
>+ attributes:
>+ - ifname
>+ - ifindex
>+ -
>+ name: dev-del

Why you expose new and del here in ovn specific generic netlink iface?
Why can't you use the exising RTNL api which is used for creation and
destruction of other types of devices?


ip link add [link DEV | parentdev NAME] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ] [index IDX ]
[ numtxqueues QUEUE_COUNT ]
[ numrxqueues QUEUE_COUNT ]
[ netns { PID | NETNSNAME | NETNSFILE } ]
type TYPE [ ARGS ]

ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ]

Lots of examples of existing types creation is for example here:
https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking



>+ attribute-set: ovpn
>+ flags: [ admin-perm ]
>+ doc: Delete existing interface of type ovpn
>+ do:
>+ pre: ovpn-nl-pre-doit
>+ post: ovpn-nl-post-doit
>+ request:
>+ attributes:
>+ - ifindex

[...]