lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] netif->flags


From: Jeff Barber
Subject: Re: [lwip-users] netif->flags
Date: Mon, 18 May 2009 17:57:10 -0400

I'm not really familiar with IGMP but I'm okay with the ARP effect: I
*want* a gratuitous arp to go out when the link comes up.  OTOH I can
certainly see that my comparison with the linux network interface is
perhaps oversimplifying it.

As for where to call netif_set_up, I don't see that being called from
the device-specific low_level_init (though of course you *could*).
>From the samples I've looked at, especially contrib/ports/unix/* (the
only ones I can actually run), the general pattern is to call
netif_add from your main function to initialize an interface, then
immediately call netif_set_up to mark it up.

Jeff

On Mon, May 18, 2009 at 5:34 PM, Bill Auerbach
<address@hidden> wrote:
> But note that netif_set_link_up does more than set flags - it does stuff for
> ARP and IGMP.  I think this has come up before - or something similar - did
> you search this mailing list archive for more on this?
>
> Bill
>
>>-----Original Message-----
>>From: address@hidden
>>[mailto:address@hidden On
>>Behalf Of John Kennedy
>>Sent: Monday, May 18, 2009 5:22 PM
>>To: Mailing list for lwIP users
>>Subject: RE: [lwip-users] netif->flags
>>
>>Jeff,
>>That makes sense to me, I was just a little puzzled by why Lwip doesn't
>>set NETIF_FLAG_UP with the rest of the flags in low_level_init and why
>>there is no comment or anything else I can find that indicates that it
>>even needs to be set.  Hence my original question.
>>
>>-----Original Message-----
>>From: Jeff Barber [mailto:address@hidden
>>Sent: Monday, May 18, 2009 2:24 PM
>>To: Mailing list for lwIP users
>>Subject: Re: [lwip-users] netif->flags
>>
>>(I'm still a newbie with lwIP and am still working on a driver so I
>>have no direct experience yet but...)
>>
>>There are two different state bits that are orthogonal: NETIF_FLAG_UP
>>and NETIF_FLAG_LINK_UP.  It appears to me that these are intended to
>>reflect, respectively, whether the device driver is "running" and
>>whether the device has established a communication link with a peer
>>device.  So shouldn't you just unconditionally call netif_set_up once
>>at the beginning (assuming your init function succeeded)?  It's what
>>I've been planning to do.  I will also have a static IP but I will
>>consider my device "up" even if there is no link.  There are separate
>>netif_set_link_up and netif_set_link_down calls that allow the driver
>>to reflect the current link state.
>>
>>Think of the way an ethernet interface works on linux (or any other
>>unix).  You run "ifconfig eth0 up [...]" administratively to load the
>>driver, initialize the device instance, allocate descriptor rings and
>>receive buffers and so forth.  This all works even if there's no cable
>>plugged into the port.  Then when the cable is plugged in, the driver
>>calls "set_link_up" and communication can then take place.  But the
>>interface itself does not go up or down every time the link goes up or
>>down.  The interface only goes down if I type "ifconfig eth0 down".
>>
>>Jeff
>>
>>
>>On Mon, May 18, 2009 at 3:36 PM, John Kennedy
>><address@hidden> wrote:
>>> Please forgive my ignorance.  I think you're right (since I'm not
>>using DHCP).  So it sounds like I should have some kind of link checking
>>in my code and call netif_set_up and _down as you suggest?  Where/how is
>>this type of checking typically done, I presume I will have to poll the
>>PHY periodically?
>>>
>>> John
>>>
>>> -----Original Message-----
>>> From: Bill Auerbach [mailto:address@hidden
>>> Sent: Monday, May 18, 2009 1:07 PM
>>> To: 'Mailing list for lwIP users'
>>> Subject: RE: [lwip-users] netif->flags
>>>
>>> Does it make sense to call netif_set_up and _down as you see the
>>physical link come and go.  With a static IP, as long as there is a
>>link, aren't you "up"?
>>>
>>> Bill
>>>
>>>>-----Original Message-----
>>>>From: address@hidden
>>>>[mailto:address@hidden On
>>>>Behalf Of John Kennedy
>>>>Sent: Monday, May 18, 2009 2:50 PM
>>>>To: Mailing list for lwIP users
>>>>Subject: RE: [lwip-users] netif->flags
>>>>
>>>>Yes, but as far as I can tell netif_set_up is only called in autoip.c
>>>>and dhcp.c, and I'm not using either yet...
>>>>
>>>>
>>>>
>>>>________________________________________
>>>>John Kennedy
>>>>
>>>>
>>>>Idaho Technology Inc.
>>>>390 Wakara Way
>>>>Salt Lake City, UT 84108, USA
>>>>
>>>>USA: 1-800-735-6544
>>>>Bus:+1 (801)736-6354 x448
>>>>Fax:+1 (801)588-0507
>>>>
>>>>http://www.idahotech.com/
>>>>-----Original Message-----
>>>>From: Simon Goldschmidt [mailto:address@hidden
>>>>Sent: Monday, May 18, 2009 8:08 AM
>>>>To: Mailing list for lwIP users
>>>>Subject: Re: [lwip-users] netif->flags
>>>>
>>>>
>>>>> Hi,
>>>>> I'm using lwIP and the socket IF.  The lwIP 1.3.0 source file
>>>>ethernetif.c
>>>>> contains a function low_level_init which initializes some of the
>>netif
>>>>> flags; but it does not initialize the flag NETIF_FLAG_UP.  I can't
>>>>find
>>>>> anywhere else in the code where this flag is set.  Should this flag
>>>>> (NETIF_FLAG_UP) be set in low_level_init with the other flags, if
>>not
>>>>where should this
>>>>> flag be set?
>>>>
>>>>void netif_set_up(struct netif *netif)
>>>>--
>>>>Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate +
>>>>Telefonanschluss für nur 17,95 Euro/mtl.!*
>>>>http://dslspecial.gmx.de/freedsl-surfflat/?ac=OM.AD.PD003K11308T4569a
>>>>
>>>>
>>>>_______________________________________________
>>>>lwip-users mailing list
>>>>address@hidden
>>>>http://lists.nongnu.org/mailman/listinfo/lwip-users
>>>>
>>>>________________________________________
>>>>CONFIDENTIALITY NOTICE: This E-mail and any attachments are
>>confidential
>>>>information of the sender and are for the exclusive use of the
>>intended
>>>>recipient. If you are not the intended recipient, be aware that any
>>>>disclosure, copying, distribution, or use of this E-mail or any
>>>>attachment is prohibited. If you have received this E-mail in error,
>>>>please notify us immediately by returning it to the sender and delete
>>>>this copy from your system. Thank you for your cooperation.
>>>>
>>>>
>>>>
>>>>
>>>>_______________________________________________
>>>>lwip-users mailing list
>>>>address@hidden
>>>>http://lists.nongnu.org/mailman/listinfo/lwip-users
>>>
>>>
>>>
>>> _______________________________________________
>>> lwip-users mailing list
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/lwip-users
>>>
>>> ________________________________________
>>> CONFIDENTIALITY NOTICE: This E-mail and any attachments are
>>confidential information of the sender and are for the exclusive use of
>>the intended recipient. If you are not the intended recipient, be aware
>>that any disclosure, copying, distribution, or use of this E-mail or any
>>attachment is prohibited. If you have received this E-mail in error,
>>please notify us immediately by returning it to the sender and delete
>>this copy from your system. Thank you for your cooperation.
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> lwip-users mailing list
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/lwip-users
>>>
>>
>>
>>_______________________________________________
>>lwip-users mailing list
>>address@hidden
>>http://lists.nongnu.org/mailman/listinfo/lwip-users
>>
>>
>>_______________________________________________
>>lwip-users mailing list
>>address@hidden
>>http://lists.nongnu.org/mailman/listinfo/lwip-users
>
>
>
> _______________________________________________
> lwip-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/lwip-users
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]