As stated on the vconfig homepage, vconfig is deprecated, unmaintained and superseeded by ip (iproute2) utility. So it should be cool to replace the vconfig calls in the vlan script of openrc by equivalent ip calls. Follow a first patch that replace the main calls (those that create and delete the vlans) ny the ip equivalents. I do not know what is the best road to replace the remaining vconfig calls, since they do not have direct equivalents with ip, since those calls, with the current openrc implementation depends on specific vconfig options (set_egress_map, set_ingress_map and so on...). I do not see any seemless upgrade path. A full disapearance of vconfig calls means for me breaking some confs... But one day or an other, this will become mandatory considering the vconfig state.
Created attachment 255055 [details, diff] firest vconfig removing First vconfig removing step. Those replacement are seemless. The remaining vconfig call in vlan_pre_start is a work to do, but I do not know what will be the best road, minimizing the breaking changes...
looks good, will need to test it still. 1. Can this be extended for veth, dummy, ifb, macvlan easily? 2. Ideas on what new variable name to use other than vconfig? 3. You need to fix the vlan_pre_start section too. Maybe look at how I did it w/ sysfs in bonding (and bridging recently).
Created attachment 256956 [details, diff] Completely remove vconfig New patch version. This one completely remove the vconfig need. But I do not see how to do without breaking existing configuration : so I have removed the vconfig_* stuff which was vconfig dependent and added some vlan_${vlanid}_* vars. Doc is also updated accordingly. There is no configuration capabilities loss : - all vlan naming should be allowed (vlan name is free in fact with iproute) - all vlan flags can be set (accordingly to what "ip link" can do) - egress/ingress map can be configured IMHO using common interface for vlan/macvlan/veth could lead to cluttered configuration : vlan have id, macvlan needs to specify mac, etc... It would be complicated to have one common configuration for a common interface. So I would keep it separate
Robin, have you had a chance to test the patch in comment #3? If so, and if it works for you, I think we should apply it, but with one small change. In order to maintain consistency with the rest of the variables in the net scripts, I propose removing the first underscore from all of the vlan_${VLANID}_foo variables, so that they would be vlan${VLANID}_foo. What do you think?
pushed to openrc repo in commit 683a21b. Thanks for the submission.
great thanks !