public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash•net>
To: Stefan Rompf <stefan@loplof•de>
Cc: Ben Greear <greearb@candelatech•com>,
	Linux Netdev List <netdev@vger•kernel.org>,
	Stephen Hemminger <shemminger@osdl•org>
Subject: Re: [VLAN]: translate IF_OPER_DORMANT to netif_dormant_on()
Date: Fri, 07 Jul 2006 11:56:28 +0200	[thread overview]
Message-ID: <44AE2FCC.6020207@trash.net> (raw)
In-Reply-To: <200607071145.09325.stefan@loplof.de>

Stefan Rompf wrote:
> Am Donnerstag 06 Juli 2006 09:42 schrieb Patrick McHardy:
> 
> 
>>>I believe this link-state logic was added by someone else.  I'm not
>>>sure exactly what these flags are supposed to do, so I am not sure if
>>>they should be propagated to the VLAN or not.
>>
>>I looked into this. The present flag used to get propagated from the
>>real device until this patch, presumably to make sure no operations
>>on the vlan device will be passed through to the underlying device
>>when it is not present.
> 
> 
> The present flag is changed by netif_device_attach() and 
> netif_device_detach(), and these functions do not emit a 
> netdev_state_change() afterwards. So there is a good chance that 
> vlan_device_event() won't be called and cannot transfer the flag. 
> netif_device_detach() also sets __LINK_STATE_XOFF implicitely. 

True.

> Ok, let's see who cares for netif_device_present():
> 
> -SIOCSIFMAP, dev->set_config() (change media type)
> -dev_open()
> -dev_set_mtu()
> -dev_set_mac_address()
> -dev_watchdog()
>  ->not implemented by VLAN / does not call through to underlying device
>
> -multicast ioctls
>  ->calls dev_mc_upload() of the underlying device sooner or later, this 
> function checks whether the device is present or not. However, if you change 
> the multicast list on a VLAN while the real device is not present, 
> dev_mc_upload() won't be called on netif_device_attach(). Good thing is that 
> most drivers setup multicast list after attach. Fishy.
> 
> -several private ioctls
>  ->vlan_dev_ioctl() checks whether the real device is present before passing 
> an ioctl
> 
> So I'd rather drop the __LINK_STATE_PRESENT transfer part, because not 
> guaranteed to be called anyway and mostly unneeded. Ok, let me look through 
> the history now to find who added transferring it (hope this happened after 
> the bitkeeper->git move)

I tend to agree with you, it doesn't seem to work properly. It was
introduced by Stephen (before the move), lets hope he can tell us more.


  reply	other threads:[~2006-07-07  9:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200603211829.k2LITMNR029085@hera.kernel.org>
2006-07-04 10:07 ` [VLAN]: translate IF_OPER_DORMANT to netif_dormant_on() Patrick McHardy
2006-07-05 18:57   ` Stefan Rompf
2006-07-05 21:00     ` Patrick McHardy
2006-07-05 21:17       ` Ben Greear
2006-07-06  7:42         ` Patrick McHardy
2006-07-07  9:45           ` Stefan Rompf
2006-07-07  9:56             ` Patrick McHardy [this message]
2006-07-07 21:33               ` Stephen Hemminger
2006-07-09  8:49                 ` Stefan Rompf
2006-07-09 18:48                   ` David Miller
2006-07-09 20:05                     ` Krzysztof Halasa
2006-07-10  0:29                       ` David Miller
2006-07-10 11:39                         ` Krzysztof Halasa
2006-07-10  6:17                       ` Stefan Rompf
2006-07-10 12:01                         ` Krzysztof Halasa
2006-07-10 21:58                           ` Stefan Rompf
2006-07-10 16:56                   ` Stephen Hemminger
2006-07-10 17:02                     ` Ben Greear
2006-07-10 22:01                     ` Stefan Rompf
2006-07-11 21:28                       ` [RFC] vlan handling of up/down Stephen Hemminger
2006-07-11 21:47                         ` Ben Greear
2006-07-11 22:19                         ` Stefan Rompf
2006-07-11 22:07               ` [VLAN]: translate IF_OPER_DORMANT to netif_dormant_on() Stefan Rompf
2006-07-11 22:15               ` Repost: " Stefan Rompf
2006-07-12  6:50                 ` Patrick McHardy
2006-07-19 12:42                 ` Patrick McHardy
2006-07-24 20:52                   ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44AE2FCC.6020207@trash.net \
    --to=kaber@trash$(echo .)net \
    --cc=greearb@candelatech$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=shemminger@osdl$(echo .)org \
    --cc=stefan@loplof$(echo .)de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox