On Wed, Jun 07, 2017 at 07:32:18AM +0100, Jason McIntyre wrote: > On Wed, Jun 07, 2017 at 02:51:42PM +1000, David Gwynne wrote: > > > > > > you are breaking the format of this page if you start to move specific > > > subsytems into the main body. > > > > > > that makes things less clear. for example, can i use the parent-device > > > stuff on any type of interface or just vlan? if it's vlan related, how > > > can i tell that? > > > > the "parent" ioctls are generic, but it is only implemented in vlan > > currently. i have a plan to replace "carpdev", "syncdev", and "pppoedev" > > with it, but id like to finish the vlan stuff before going further. > > > > so it sounds like it should be in vlan for now.
cool. > > > vnetid is used by both vlan and vxlan at the moment. i have a diff to add > > support for it to gre, while adding egre (ethernet over gre) and nvgre > > interfaces that also support a network identifier. > > > > > > > > the text reads fine, but i'd rather you tried to integrate it into the > > > vlan section. if there are errors in there let's remove them. > > > > > > but if it's the case that none of this stuff is specific to vlan, then i > > > guess it makes sense to do it your way (but then you'd have to take care > > > when documenting stuff like parent-device to say in what situations it > > > makes sense). > > > > im happy to take direction here. i could also move things like the ethernet > > options (arp, -arp, instance, wol, -wol) into their own section. > > > > well, that would be a separate diff. > > > how would you say that vnetid is supported by both vlan and some tunnel > > interfaces? would you put it in the tunnel section, the vlan section, or > > both, or a new section? > > > > dlg > > > > just like it is just now. > > i know that the way that ifconfig(8) is split up is not perfect. that is > really just a reflection of how complex a tool ifconfig is. by complex i > mean it can do a lot of different stuff. the format of the page as-is > now just kind of happened. i'm not saying we can't (or shouldn;t) change > it, just that if we do, we'd want to try and keep it consistent. > > why not just add your one option to the vlan section, which is what it's > relevant to, for now. if in the future you make it work in other areas, > we can see whether it warrants a shuffle. well, vnetid and parent replace the vlan and vlandev parameters. how about this as a start? as an aside, should i fix vlan.4 so it uses capitals on the 802.1 things consistently? capitals are preferred, right? Index: ifconfig.8 =================================================================== RCS file: /cvs/src/sbin/ifconfig/ifconfig.8,v retrieving revision 1.282 diff -u -p -r1.282 ifconfig.8 --- ifconfig.8 12 May 2017 15:11:02 -0000 1.282 +++ ifconfig.8 7 Jun 2017 07:54:52 -0000 @@ -1666,46 +1666,48 @@ device will try to establish a data conn .Bk -words .Nm ifconfig .Ar vlan-interface -.Op Cm vlan Ar vlan-tag -.Op Oo Fl Oc Ns Cm vlandev Ar parent-interface +.Oo Fl Oc Ns Cm vnetid Ar vlan-tag +.Oo Fl Oc Ns Cm parent Ar parent-interface .Ek .nr nS 0 .Pp -The following options are available for a +The following options are available for .Xr vlan 4 -interface: +and +.Xr svlan 4 +interfaces: .Bl -tag -width Ds -.It Cm vlan Ar vlan-tag -Set the vlan tag value -to +.It Cm vnetid Ar vlan-tag +Set the vlan tag value to .Ar vlan-tag . -This value is a 12-bit number which is used to create an 802.1Q -vlan header for packets sent from the vlan interface. -This value cannot be changed once it is set for an interface. -.It Cm vlandev Ar parent-interface -Associate with interface +This value is a 12-bit number which is used in the 802.1Q or 802.1AD +headers in packets handled by +.Xr vlan 4 +or +.Xr svlan 4 +interfaces respectively. +Valid tag values are from 1 to 4095 inclusive. +.It Cm Fl vnetid +Clear the tag value. +Packets on a vlan interface without a tag set will use a value of +0 in their headers. +.It Cm parent Ar parent-interface +Associate the vlan interface with the interface .Ar parent-interface . -Packets transmitted through the vlan interface will be -diverted to the specified interface -.Ar parent-interface -with 802.1Q vlan tagging. -Packets with 802.1Q tagging received +Packets transmitted on +.Xr vlan 4 +or +.Xr svlan 4 +interfaces will be tagged with 802.1Q or 802.1AD headers respectively +and transmitted on the specified parent interface. +Packets with 802.1Q or 802.1AD tags received by the parent interface with the correct vlan tag will be diverted to -the associated vlan pseudo-device. -The vlan interface is assigned a -copy of the parent interface's flags and the parent's Ethernet address. -If -.Cm vlandev -and -.Cm vlan -are not set at the same time, the vlan tag will be inferred from -the interface name, for instance -.Cm vlan5 -will be assigned 802.1Q tag 5. -.It Cm -vlandev +the associated vlan interface. +Unless a custom Ethernet address is assigned to the vlan interface, +it will inherit a copy of the parent interface's Ethernet address. +.It Cm Fl parent Disassociate from the parent interface. -This breaks the link between the vlan interface and its parent, -clears its vlan tag, flags, and link address, and shuts the interface down. +This breaks the link between the vlan interface and its parent. .El .Sh EXAMPLES Assign the