-------- Forwarded Message --------
From: Thomas Haller <[email protected]>
To: [email protected], [email protected]
Cc: [email protected], [email protected]
Subject: Re: Clarification on Network Manager - Implementing new
configuration for T1S network device
Date: Tue, 21 Apr 2020 09:53:41 +0200

On Mon, 2020-04-20 at 12:57 +0000, [email protected] wrote:
> Hi Thomas,
> 
> On Mon, 2020-04-20 at 13:26 +0200, Thomas Haller wrote:
> > On Mon, 2020-04-20 at 10:51 +0000, 
> > [email protected]
> > wrote:
> > 
> > Hi,
> > 
> > 
> > > Yes this is not a shell script of course and this is a typical
> > > function name and it has to be implemented in the Network Manager
> > > using ioctl. I gave this function format to describe the
> > > configuration/functionality.
> > > 
> > > ioctl implementation for accessing/configuring phy device already
> > > exists and also we are using successfully. If we want to go with
> > > Network Manager then we need to implement/include those ioctl
> > > calls
> > > inside the Network Manager.
> > > 
> > > As you mentioned below ioctl can be used to access mii. Herewith
> > > I
> > > have attached the user space application which we use for your
> > > reference. With reference to the attached file the example would
> > > be,
> > > 
> > > access_reg(CMD_WR, 0x50001, &param1);
> > > access_reg(CMD_WR, 0x50002, &param2);
> > > 
> > > Summarizing the above points, could you please reply to the below
> > > queries,
> > > 
> > > To configure particular properties param1 and param2, we use
> > > specific
> > > for our phy register addresses like 0x50001 and 0x50002. How the
> > > access to such registers can be implemented? Hardcoded in the
> > > Network
> > > Manager, implemented in a plugin, etc?"
> > > 
> > > So basically we want to know, Is it allowed to implement those
> > > ioctl
> > > calls inside Network Manager to access/configure phy device ? if
> > > not
> > > then do you have any other proposal to go for ?
> > 
> > Yes... I wonder, why do you think it would not be?
> 
> To access the MDIO register we use MDIO Clause 45 well defined in a
> IEEE 802.3 specification.  The Linux kernel supports ioctl's that
> provide access to MII, that is used to build up the MDIO
> access.  That
> all is not a problem.
> 
> The point of the question is that we use Vendor/Product specific MDIO
> register address (0x50001) for the T1S property mentioned here as
> "param1" (just an abstract name).
> 
> The mapping of standard T1S properties to MDIO Register Addresses is
> not defined by T1S specifications.  Every vendor uses their own
> register map for the standard T1S property "param1".
> 
> Thus, the code accessing the MDIO Register 0x50001 will configure
> standard T1S property "param1" for only T1S PHY of one particular
> vendor.
> 
> Does Network Manager have any problem with this design?

Hi,

Probably it is a problem.

NetworkManager probably shouldn't allow a user to write arbitrary
ethernet registers. Should it?

Shouldn't this be setup by a udev rule?

But let's please not continue this thread here, but return the the
mailing list [email protected] . For one, I am not familiar
with this, second, the discussion should not be only in my private mail
box. Thank you!

Hi All,

@Thomas Haller: Thank you for your clarifications.

Initially, I started this mail thread with 
[email protected]. After that I got a reply from Thomas
Haller so I just continued discussing with him. As per Thomas Haller's
suggestion, it should not be a private mail. So I am sharing it with
you all. Please have a look in the discussions we made here and give
your opinions/suggestions on this. Let me summarize our requirement
once again here shortly.

We have a plan to use the Network Manager as the network configuration
tool for configuring T1S network device. We have some parameters those
needs to be configured whenever the network device is getting up. Those
parameters should be visible in the user interface applications like
nmcli, nmtui and desktop gui applications for configuring and those
needs to be configured in the phy device in the lower layer. A typical
function would be like below,

access_reg(CMD_WR, 0x50001, &param1);
access_reg(CMD_WR, 0x50002, &param2);

To configure particular properties param1 and param2, we use specific
for our phy register addresses like 0x50001 and 0x50002. How the access
to such registers can be implemented ? Hardcoded in the Network
Manager, implemented in a plugin, etc ?

To access the MDIO registers we use MDIO clause 22/45 well defined in a
IEEE 802.3 specification. The linux kernel supports ioctl's that
provide access to MII, that is used to build up the MDIO access. The
point of the question is that we use Vendor/Product specific MDIO
register address (0x50001) for the T1S property mentioned here as
"param1" (just an abstract name). The mapping of standard T1S
properties to MDIO register addresses is not defined by T1S
specifications. Every vendor uses their own register map for the
standard T1S property "param1". Thus, the code accessing the MDIO
Register 0x50001 will configure the standard T1S property "param1" for
only T1S PHY of one particular vendor. Does Network Manager have any
problem with this design ?

Thanks & Regards,
Parthiban V

best,
Thomas



> Regards
> Andre.
> 
> > The only restriciton is that this functionality must be available
> > on
> > an
> > upstream linux kernel. I should be free software and available so
> > that
> > a user can use this on a reasonably common Linux distribution.
> > 
> > 
> > > If you say ok then I can start the implementation in Network
> > > Manager
> > > source using ioctl.
> > 
> > Other ioctl calls are implemented here:
> > 
> > 
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/2ad8e6acae7b2c76d40e00a60a85aef0ea625de5/src/platform/nm-platform-utils.c
> > 
> > 
> > 
> > Btw, let's continue further discussion on the upstream mailing
> > list,
> > so
> > that others might also participate.
> > 
> > 
> > best!!
> > Thomas
> > 
> > 
> > > -----Original Message-----
> > > From: Thomas Haller <[email protected]> 
> > > Sent: Friday, April 17, 2020 4:28 PM
> > > To: Parthiban Veerasooran - I17164 <
> > > [email protected]>
> > > Cc: Michael Fabry - M21080 <[email protected]>; Andre
> > > Edich
> > > - M21181 <[email protected]>
> > > Subject: Re: Clarification on Network Manager - Implementing new
> > > configuration for T1S network device
> > > 
> > > On Wed, 2020-04-15 at 11:02 +0000, 
> > > [email protected]
> > > wrote:
> > > > Hi,
> > > > 
> > > > Thank you for the reply.
> > > > 
> > > > A typical script would be like below,
> > > > 
> > > >         write_class45_mdio_register(0x50001, param_one);
> > > >         write_class45_mdio_register(0x50002, param_two);
> > > 
> > > Hm... well, this isn't a "shell script". Is
> > > write_class45_mdio_register() supposed to be C?
> > > 
> > > What does it do? Where is it implemented? Is it some ioctl call? 
> > > 
> > > 
> > > > param_one and param_two are needed to be configured from user 
> > > > interface applications nmcli, nmtui and desktop GUI
> > > > applications
> > > > of 
> > > > Network Manager. 0x50001 and 0x50002 are phy register addresses
> > > > for 
> > > > those params. Whenever the network device is getting up the
> > > > Network 
> > > > Manager should do the above settings in the phy device. So
> > > > basically 
> > > > we would like to know to know the implementation mechanism
> > > > between 
> > > > user space application and kernel space for setting up the phy
> > > > device. 
> > > > It would be nice if you could provide an example implementation
> > > > for 
> > > > doing the above settings.
> > > 
> > > NetworkManager can use any "implementation mechanism" -- if
> > > implemented. In particular, it already:
> > > 
> > >   - talk netlink (rtnl, genl for nl80211, nl802154, WireGuard),
> > >   - ioctl (ethtool, mii, wext),
> > >   - sysctl,
> > >   - talk to a unix socket (ovsdb),
> > >   - make D-Bus call,
> > >   - spawn processes (dcbtool),
> > >   - or use a library (libmm, libteamdctl).
> > > 
> > > 
> > > 
> > > > Thanks & Regards,
> > > > Parthiban V
> > > > 
> > > > -----Original Message-----
> > > > From: Thomas Haller <[email protected]>
> > > > Sent: Friday, April 10, 2020 2:52 PM
> > > > To: Parthiban Veerasooran - I17164 <
> > > > [email protected]>; 
> > > > [email protected]
> > > > Cc: Michael Fabry - M21080 <[email protected]>
> > > > Subject: Re: Clarification on Network Manager - Implementing
> > > > new 
> > > > configuration for T1S network device
> > > > 
> > > > On Tue, 2020-04-07 at 09:37 +0000, Parthiban.Veerasooran---
> > > > via 
> > > > networkmanager-list wrote:
> > > > > Hi Team,
> > > > >  
> > > > > Good Day...! This is Parthiban from Microchip Technology.
> > > > >  
> > > > > This is regarding T1S network device configuration
> > > > > implementation
> > > > > in 
> > > > > Network Manager.
> > > > >  
> > > > > We have a plan to use the Network Manager as the network 
> > > > > configuration tool for T1S network device. We have some
> > > > > parameters 
> > > > > those needs to be configured in the phy device whenever the
> > > > > network 
> > > > > device is up.
> > > > > Those
> > > > > parameters should be visible in the user interface
> > > > > applications
> > > > > like 
> > > > > nmcli, nmtui and desktop GUI to configure them and those
> > > > > needs
> > > > > to
> > > > > be 
> > > > > configured in the phy device in the lower level.
> > > > >  
> > > > > So could you please reply to the below queries,
> > > > >  
> > > > >                 1. Is the Network Manager allows this type
> > > > > of 
> > > > > configuration ?
> > > > >                
> > > > >                 2. If yes to the above question then could
> > > > > you 
> > > > > please suggest how to do it ? since this configuration is
> > > > > required 
> > > > > to access phy layer to configure phy device.
> > > > >                
> > > > >                 3. Is Network Manager has access to the phy
> > > > > layer
> > > > > ?
> > > > > if yes then how to implement it ?
> > > > >                
> > > > > Please let me know it you need more information from my side.
> > > > > If
> > > > > it 
> > > > > is required I can even send you a pictorial representation of
> > > > > the 
> > > > > requirement.
> > > > >  
> > > > 
> > > > Hi,
> > > > 
> > > > what parameters need to be configured?
> > > > 
> > > > can you show a shell script that sets up the desired
> > > > configuration?
> > > > 
> > > > 
> > > > in principle, NetworkManager configures the interface using
> > > > kernel
> > > > API 
> > > > like netlink, sysctl, ioctl (ethtool), etc. So, yes,
> > > > NetworkManager 
> > > > should be able to set all kinds of parameters, if implemented.
> > > > 
> > > > 
> > > > best,
> > > > Thomas
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to