Re: adding if_dev member to struct ifnet

From: John Baldwin (jhb_at_FreeBSD.org)
Date: 09/30/03

  • Next message: Brooks Davis: "Re: adding if_dev member to struct ifnet"
    Date: Tue, 30 Sep 2003 14:23:02 -0400 (EDT)
    To: Brooks Davis <brooks@one-eyed-alien.net>
    
    

    On 30-Sep-2003 Brooks Davis wrote:
    > On Tue, Sep 30, 2003 at 01:14:39PM -0400, John Baldwin wrote:
    >>
    >> Fair enough. I think that Brooks planned to use a NULL device_t for
    >> interfaces w/o a backing new-bus device. However, that means you
    >> still need if_name for all the non-newbus devices, so this seems
    >> somewhat pointless if if_name is the only reason. Another counterpoint
    >> is that the new-bus namespace and the netif namespace aren't the same
    >> anyway and that seemed to be the point of this linkage. The
    >> dev_t <> softc <> device_t linkages aren't about unifying namespaces.
    >
    > The idea here is that virtually all uses of if_name/if_unit that aren't
    > just there for the users benefit are actually references to the
    > underlying driver not name of the interface. Currently they are the
    > same (i.e. ifname is nearly always device_get_name(dev) or a bug prone
    > manual version there of), but I would like to separate them so we can
    > rename interfaces.
    >
    > Since device_t is as close to a repository of driver/instance
    > information as we've got, I though using it would be a reasonable way
    > to go. As a side benefit, most drivers have a copy of it in their softc
    > already so you'd have a standard place to put it.
    >
    > I suppose a usable alternative would be to revive if_name and if_unit
    > as something like if_drvname and if_drvunit.

    Are these uses all within the driver itself? If so, then just giving
    ifnet a void * that is private to the driver would allow ifnet devices
    hung off of new-bus devices to cache their device_t w/o requiring the
    rest of the kernel to know what that private variable is.

    -- 
    John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
    "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
    

  • Next message: Brooks Davis: "Re: adding if_dev member to struct ifnet"

    Relevant Pages

    • Re: adding if_dev member to struct ifnet
      ... > just there for the users benefit are actually references to the ... > underlying driver not name of the interface. ... > rename interfaces. ... ifnet a void * that is private to the driver would allow ifnet devices ...
      (freebsd-net)
    • Re: adding if_dev member to struct ifnet
      ... > somewhat pointless if if_name is the only reason. ... just there for the users benefit are actually references to the ... underlying driver not name of the interface. ... rename interfaces. ...
      (freebsd-net)
    • Re: adding if_dev member to struct ifnet
      ... > somewhat pointless if if_name is the only reason. ... just there for the users benefit are actually references to the ... underlying driver not name of the interface. ... rename interfaces. ...
      (freebsd-arch)
    • Re: adding if_dev member to struct ifnet
      ... >> just there for the users benefit are actually references to the ... >> underlying driver not name of the interface. ... > ifnet a void * that is private to the driver would allow ifnet devices ... example is in the new ATM code where interfaces are looked up by name. ...
      (freebsd-arch)
    • Re: adding if_dev member to struct ifnet
      ... >> just there for the users benefit are actually references to the ... >> underlying driver not name of the interface. ... > ifnet a void * that is private to the driver would allow ifnet devices ... example is in the new ATM code where interfaces are looked up by name. ...
      (freebsd-net)