Thank you very much for your suggestions Jarod. We will take them into account.
Thanks!
Fernando.
On Tue, Sep 1, 2020 at 10:06 PM Jarod Wilson <jarod(a)redhat.com> wrote:
On Tue, Sep 1, 2020 at 3:43 PM Fernando Fernandez Mancera
<ferferna(a)redhat.com> wrote:
>
> Hello again!
>
> I am considering all the votes to list shared with you recently as no
> one proposed new words. Please, send your votes to the mailing list,
> you have until Friday 8.00 AM UTC :-)
>
> P.S: I am considering the votes already sent, so there is no need to
> send them again.
I intend to go with either bundle/cable or parent/child for the kernel
bonding driver, partially because they're the exact same lengths as
master/slave, and make some degree of sense. I'd leave trunk and port
off the list of options, because VLAN uses trunk quite a bit, and the
bonding 802.3ad code already uses port. Probably leaning towards
parent/child, since a bond isn't necessarily a bundle of cables. The
bigger issue than actual naming is not breaking anyone's userspace,
which unfortunately means quite a bit can NOT be changed. Secondary to
that, is not making life hell for -stable kernel tree maintainers
trying to backport from a bonding driver with new terminology in use.
Note: there's also an open bugzilla for this issue, specific to the
bonding driver.
> On Tue, Sep 1, 2020 at 4:28 PM Beniamino Galvani <bgalvani(a)redhat.com> wrote:
> >
> > On Mon, Aug 31, 2020 at 12:32:33PM +0200, Fernando Fernandez Mancera wrote:
> > > Hello everyone,
> > >
> > > I am asking for ideas and tomorrow I will open a public voting on the
> > > mailing list. So, please add your suggestions now. The current ones
> > > are:
> > >
> > > - main/sub
> > > - main/member
> > > - parent/child
> > > - base/child
> > > - main/worker
> > > - trunk/leg
> > > - base/leg
> > >
> > > Please, feel free to add other terms.
> >
> > In NetworkManager the parent/child terminology is used for interfaces
> > like VLANs, IP tunnels, PPPoE where an interface is stacked upon
> > another without relation to other 'siblings'.
> >
> > > - base/child
> > > - main/worker
> > > - trunk/leg
> > > - base/leg
> > >
> > > Please, feel free to add other terms.
> >
> > I like (in this order) {'base', 'main'} for the master and
{'port',
> > 'member'} for slaves.
> >
> > Beniamino
> >
> > > On Thu, Aug 27, 2020 at 2:31 PM William Caban Babilonia
> > > <william.caban(a)redhat.com> wrote:
> > > >
> > > > Another idea for the naming.
> > > >
> > > > If we consider something like:
> > > >
> > > > bond0:
> > > > - eth0
> > > > - eth1
> > > > - eth2
> > > > - eth3
> > > >
> > > > bond0.vlan1
> > > > bond0.vlan2
> > > >
> > > > etc,
> > > >
> > > > - What about calling the physical interfaces "eth0-3"
"members" of bond0?
> > > > - What about calling "vlan1" "vlan2" are a child
of bond0?
> > > >
> > > >
> > > > _W
> > > >
> > > >
> > > >
> > > > On Thu, Aug 27, 2020 at 6:33 AM Till Maas <till(a)redhat.com>
wrote:
> > > >>
> > > >> Hi,
> > > >>
> > > >> Am Do., 27. Aug. 2020 um 11:49 Uhr schrieb Fernando Fernandez
Mancera
> > > >> <ferferna(a)redhat.com>:
> > > >>
> > > >> > Looking on the thread it seems we agree on two points:
> > > >> >
> > > >> > * We should use a generic word for codebase and for API
VLAN/VXLAN
> > > >> > will user base/parent, as we are already doing.
> > > >> >
> > > >> > * Short words are good so controller/subordinate is too long
and
> > > >> > interface/subinterface are too generic.
> > > >>
> > > >> my proposal should have been top and sub as the identifiers but I
it
> > > >> would be spoken as top interface / sub interface.
> > > >>
> > > >>
> > > >> >
> > > >> > IMO, we should follow the kernel terms and we shouldn't
create new
> > > >> > terms because it would be hard to understand for
maintainers.
> > > >> >
https://www.zdnet.com/article/linux-team-approves-new-terminology-bans-te...
> > > >> >
> > > >> > I propose to use:
> > > >> >
> > > >> > "base/worker" or "main/worker".
> > > >>
> > > >> This would also lead to base interface and worker interface.
> > > >>
> > > >> base and worker are not mentioned in the zdnet article. So how
about
> > > >> "main" and "sub" (short for subordinate).
> > > >>
> > > >> Can we maybe check at least with someone else involved in the
upstream
> > > >> kernel to get their opinion if Jarod is not available?
> > > >>
> > > >> Thanks
> > > >> Till
> > > >>
> > > >> >
> > > >> > If there is no complaint on this I will work on this by next
week, so
> > > >> > please, share your thoughts. :-)
> > > >> >
> > > >> > Thanks!
> > > >> > Fernando.
> > > >> >
> > > >> > On Mon, Aug 24, 2020 at 11:01 AM Fernando Fernandez Mancera
> > > >> > <ferferna(a)redhat.com> wrote:
> > > >> > >
> > > >> > > Sorry, I meant "base/leg".
> > > >> > >
> > > >> > > On Mon, Aug 24, 2020 at 10:59 AM Fernando Fernandez
Mancera
> > > >> > > <ferferna(a)redhat.com> wrote:
> > > >> > > >
> > > >> > > > On Mon, Aug 24, 2020 at 10:35 AM Till Maas
<till(a)redhat.com> wrote:
> > > >> > > > >
> > > >> > > > > Hi,
> > > >> > > > >
> > > >> > > > > Am Mo., 24. Aug. 2020 um 10:14 Uhr schrieb
Fernando Fernandez Mancera
> > > >> > > > > <ferferna(a)redhat.com>:
> > > >> > > > > >
> > > >> > > > > > On Mon, Aug 24, 2020 at 9:58 AM Till
Maas <till(a)redhat.com> wrote:
> > > >> > > > > > >
> > > >> > > > > > > Hi,
> > > >> > > > > > >
> > > >> > > > > > > Am Do., 13. Aug. 2020 um 17:06 Uhr
schrieb Gris Ge <fge(a)redhat.com>:
> > > >> > > > > > > >
> > > >> > > > > > > > Hi,
> > > >> > > > > > > >
> > > >> > > > > > > > I would like to suggest we
deprecate our use of `master/slave` in
> > > >> > > > > > > > nmstate project.
> > > >> > > > > > > >
> > > >> > > > > > > > And switching to these
terminologies for interface relationship in
> > > >> > > > > > > > the coming new release of
nmstate-0.4.0:
> > > >> > > > > > > >
> > > >> > > > > > > > * For bond/team/bridge:
> > > >> > > > > > > > * controller/subordinate
> > > >> > > > > > > > # For bridge, we can
also use controller/port.
> > > >> > > > > > >
> > > >> > > > > > > having shorter words would be nice,
maybe
> > > >> > > > > > >
> > > >> > > > > > > trunk/leg
> > > >> > > > > > > base/leg
> > > >> > > > > > >
> > > >> > > > > > > base/dell
> > > >> > > > > > > mesa/dell
> > > >> > > > > > > base/vale
> > > >> > > > > > >
> > > >> > > > > > > bulk/part
> > > >> > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > * For VLAN/VxLAN:
> > > >> > > > > > > > * parent/child
> > > >> > > > > > > > * base/child
> > > >> > > > > > > > # Current API using
`base-iface`, no need to change
> > > >> > > > > > >
> > > >> > > > > > > Some other suggestions:
> > > >> > > > > > > base/apex
> > > >> > > > > > > mesa/apex
> > > >> > > > > > >
> > > >> > > > > > > base/head
> > > >> > > > > > > trunk/head
> > > >> > > > > >
> > > >> > > > > > Those are a little bit confusing for me.
I expect both "base" and
> > > >> > > > > > "head" would replace
"master".
> > > >> > > > >
> > > >> > > > > Interesting. This might be because I did not
think about the old
> > > >> > > > > analogy where one interface has power over
the other but more like how
> > > >> > > > > they are arranged.
> > > >> > > > >
> > > >> > > > > Bond interfaces are built on top of other
interfaces, making the other
> > > >> > > > > interfaces something at the bottom (like
legs) and the bond interface
> > > >> > > > > the trunk or base. Since VLAN interfaces are
also built on top of
> > > >> > > > > other interfaces, even on bond interfaces,
this makes them another top
> > > >> > > > > layer which is the head. But since there
could be multiple VLAns, arms
> > > >> > > > > might make more sense and then both arms and
legs are limbs.
> > > >> > > > >
> > > >> > > > > > I've been thinking on this and it
would be good to use only one option
> > > >> > > > > > for codebase, i.e using the same terms
for all kind of interfaces. For
> > > >> > > > > > the exposed API, I would not change
VLAN/VXLAN as we are already using
> > > >> > > > > > base/child terms. For other interfaces I
noticed that we are mixing up
> > > >> > > > > > "slaves" and
"ports", I suggest to unify it into a generic one. IMO,
> > > >> > > > > > the most generic are
"controller/subordinate".
> > > >> > > > > >
> > > >> > > > > > If we agree on the generic word, I would
use them for the whole codebase.
> > > >> > > > > >
> > > >> > > > > > What do you think? Thanks!
> > > >> > > > >
> > > >> > > > > I am not sure if the power structure is the
best analogy, here. Does a
> > > >> > > > > bond/bridge interface really control its
subordinate interfaces? Maybe
> > > >> > > > > it also does not matter that much, given that
at some point the words
> > > >> > > > > will be defined by usage. However, using long
words might not stick
> > > >> > > > > since people are lazy. A shorter alternative
might be top
> > > >> > > > > interface/sub interface.
> > > >> > > > >
> > > >> > > >
> > > >> > > > Yes, that is true. It would be nice to use a
shorter word.. maybe
> > > >> > > > "parent/child"? As parents have power
over their childs.. Not sure.
> > > >> > > > About interface/subinterface, I find them very
lazy, "interface" term
> > > >> > > > is all over the codebase so it could be very
confusing for us, IMO.
> > > >> > > >
> > > >> > > > I also like "base/lag"-
> > > >> > > >
> > > >> > > > Thanks!
> > > >> > > >
> > > >> > > > > Thanks
> > > >> > > > > Till
> > > >> > > > >
> > > >> > > > >
> > > >> > > > > >
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > The trunk interface of eth1 is
bond0
> > > >> > > > > > > eth1 is a leg of the bridge br0
> > > >> > > > > > > eth1 is a leg of an base interface
> > > >> > > > > > > eth1 is a dell interface of br0
(probably not so nice because of the
> > > >> > > > > > > confusion with the manufacturer)
> > > >> > > > > > > eth1 is a vale interface of br0
> > > >> > > > > > > eth1 is a limb of br0
> > > >> > > > > > > eth1 is a leg of br0
> > > >> > > > > > > br0 is the trunk for eth1
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > eth1 is a part interface of the br0
bulk interface
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > the base of VLAN eth1.100 is eth1
> > > >> > > > > > > eth1.100 is an apex interface of
eth1
> > > >> > > > > > > eth1.100 is a head of eth1
> > > >> > > > > > > eth1 is the trunk interface for
eth1.100.
> > > >> > > > > > > eth1 is the base interface for
eth1.100.
> > > >> > > > > > > eth1 is the trunk for eth1.100
> > > >> > > > > > > eth1.100 is a limb of eth1
> > > >> > > > > > > eth1.100 is an arm of eth1
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > These seem to be my current
favorites:
> > > >> > > > > > > leg/trunk/head
> > > >> > > > > > > limb/trunk/limb
> > > >> > > > > > >
> > > >> > > > > > > Limb could be used both for the
interfaces included in a bridge or a
> > > >> > > > > > > bond. Not sure, if they need to
have different identifiers.
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > For example:
> > > >> > > > > > > > * The `controller` of eth1 is
bond0 and `controller_type` is bond
> > > >> > > > > > > > * The br0 is `controller` of
eth1
> > > >> > > > > > > > * The eth1 is `port` of
bridge br0 or `subordinate` of bridge br0
> > > >> > > > > > > > * The eth1 is `subordinate`
of bond0
> > > >> > > > > > > > * The VLAN eth1.100 is child
of eth1
> > > >> > > > > > > > * The base interface of
eth1.100 is eth1
> > > >> > > > > > > > * The parent of VLAN eth1.100
is eth1
> > > >> > > > > > > > * The VLAN eth1.100 is child
of eth1
> > > >> > > > > > > >
> > > >> > > > > > > > I am not English native
speaker, please kindly help on this if you have
> > > >> > > > > > > > better ideas.
> > > >> > > > > > > >
> > > >> > > > > > > > Thank you very much!
> > > >> > > > > > >
> > > >> > > > > > > Thank you for moving this forward!
> > > >> > > > > > >
--
Jarod Wilson
jarod(a)redhat.com
_______________________________________________
nmstate-devel mailing list -- nmstate-devel(a)lists.fedorahosted.org
To unsubscribe send an email to nmstate-devel-leave(a)lists.fedorahosted.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedorahosted.org/archives/list/nmstate-devel@lists.fedoraho...