Hello lwIP developers,
I would like to develop the Link Layer LLDP stack within lwIP framework.
However the developer's manual link is empty. Any suggestions where to
start?
Regards
Amit
___
lwip-users mailing list
lwip-users@nongnu.org
https://lists.no
Amit Ashara wrote:
I would like to develop the Link Layer LLDP stack within lwIP framework.
Cool!
However the developer's manual link is empty.
I have absolutely *no* idea what this means.
Any suggestions where to start?
Implementing LLDP is a bit tricky if you have more than one port,
For a TCP/IP application:
the wiki http://lwip.wikia.com/wiki/LwIP_Wiki
the example applications in the contrib tree
the apps in the new tree (2.0.0RC2 and git head)
However, afaik (and I don't really know much), LLDP runs over bare
Ethernet with ethertype=0x88CC, so you need to trap the frames
Hello Simon
I was referring to the following link
http://lwip.wikia.com/wiki/LwIP_Developers_Manual
This implementation is only for a single port device, which connects to a
switch/router. While the receive part is clear, it is the transmit path
that is not clear.
In the current implementation
Hello Sergio,
As I mentioned earlier, the receive part is not the problem (based on the
inputs from Simon and going through the lwIP files. It is the transmit path
for which the call stack is not clear. Tracing it seems to always bring me
to the DHCP or TCP call function.
Regards
Amit
On Wed, Au
I sent my response before you answered to Simon, so I couldn't know your
problem was in the output path without violating causality. I think some
states penalize that... ;^)
When the stack needs to send a frame, it will call netif->output. That
pointer is usually setup at the init function for
Amit Ashara wrote:
http://lwip.wikia.com/wiki/LwIP_Developers_Manual
Oh, right. You see, I don't really follow the wiki... Wikia has way too
much advertising.
This implementation is only for a single port device [..]
So it is not clear where do I insert the LLDP frame?
That's what I said.
Hello Simon,
LLDP can use the same MAC address as being used by lwIP. It is not mandated
that they be different.
Regards
Amit
On Wed, Aug 3, 2016 at 3:08 PM, goldsi...@gmx.de wrote:
> Amit Ashara wrote:
>
>> http://lwip.wikia.com/wiki/LwIP_Developers_Manual
>>
>
> Oh, right. You see, I don't r
Hello Sergio,
I am using bare metal as well without OS and lwIP 1.4.1. So I don't see
most of the functions being mentioned. Looks like I would need to bring
2.0.0.RC2 (quite some work). in my case I am using the drivers from TM4C. I
checked and
psNetif->output = etharp_output;
So what you are
> Oh, right. You see, I don't really follow the wiki... Wikia has way
too much advertising.
AdBlock Plus rules!
___
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users
I'm also using 1.4.1, maybe the driver obscures some stuff.
ethernetif_init()). My driver sets up etharp_output() for that, and I
[...]
Anyway, that will eventually call netif->linkoutput() which is what you
probably want to use.
The driver should have a netif structure somewhere, with that f
Hello Sergio,
Yes, I went through the link
http://lwip.wikia.com/wiki/LwIP_with_or_without_an_operating_system
The netif_add calls the function tivaif_init from the porting file. Inside
the function tivaif_init the function call is as follows
psNetif->output = etharp_output;
psNetif->linkou
> psNetif->linkoutput = tivaif_transmit;
> If i check the tivaif_transmit function, "tivaif_transmit(struct
> netif *psNetif, struct pbuf *p)" it maps the pbuf to the MAC
> controller for transmission. It is this buffer that needs to be
> modified for LLDP frame.
Not exactly. You need to allocat
Hello Sergio
LLDP is a multicast information only packet. It has the be sent at fixed time
intervals. The second approach to have a separate driver and calling it in a
timer function seems to be the approach. Again the receive packet is easy to
process. The transmit needs to be thought and inse
Hello Sergio, Simon,
I finally got the LLDP basic frame to work. I am able to send the LLDP
frame out of my device and see the same correctly on the wire-shark.
However, do be able to make a proper source code out of it, I would need
advise. The fields of the LLDP are static and not expected to c
Amit Ashara wrote:
LLDP can use the same MAC address as being used by lwIP. It is not mandated
that they be different.
No, but if you have more than one port, it's typical to have one MAC per
port. This helps to tell which port of a switch a device is connected to,
for example (e.g. used in
Hello Simon,
I call the LLDP transmit function lldp_raw(struct netif *netif, const
struct eth_addr *ethsrc_addr) with the MAC address of the port. So if there
are multiple ports each with its MAC address, then that can be resolved by
the 2nd argument of the function.
Also if we put the use restri
Hello Simon, Sergio,
Any further thoughts on the same?
Regards
Amit
On Fri, Aug 12, 2016 at 3:20 PM, Amit Ashara wrote:
> Hello Simon,
>
> I call the LLDP transmit function lldp_raw(struct netif *netif, const
> struct eth_addr *ethsrc_addr) with the MAC address of the port. So if there
> are m
I would #define fixed fields in the lldp.h equivalent and #ifndef
#define the user modifiable values in a lldpopts.h file. However, I'm
just as a user as you are; Simon is THE man here ;^)
___
lwip-users mailing list
lwip-users@nongnu.org
https://li
Thanks Sergio. I am also awaiting Simon's inputs as well
Regards
Amit
On Wed, Aug 17, 2016 at 8:41 AM, Sergio R. Caprile
wrote:
> I would #define fixed fields in the lldp.h equivalent and #ifndef #define
> the user modifiable values in a lldpopts.h file. However, I'm just as a
> user as you are
Amit Ashara wrote:
> I call the LLDP transmit function lldp_raw(struct netif *netif, const struct
> eth_addr *ethsrc_addr)
> with the MAC address of the port. So if there are multiple ports each with
> its MAC address, then
> that can be resolved by the 2nd argument of the function.
That's not n
Hello Simon
I can make the change for lldp_raw to be netif compliant and using internal
functions in the lldp.c to construct the packet.
Will it be OK in that case (along with the single port requirement)
Regards
Amit
On Wed, Aug 17, 2016 at 9:12 AM, Simon Goldschmidt wrote:
> Amit Ashara wro
Hello Simon
I have reduced the function call as lldp_raw(struct netif *netif);
Since the packet needs to be constructed based on options, the functions
called by lldp_raw would be static. After constructing the packet lldp_raw
callsnetif->linkoutput(netif, p); The pbuf p is allocated in the funct
Hello All,
I have the updated files for lldp transmit function. How do I put it up for
review?
Regards
Amit
On Wed, Aug 17, 2016 at 9:38 AM, Amit Ashara wrote:
> Hello Simon
>
> I have reduced the function call as lldp_raw(struct netif *netif);
>
> Since the packet needs to be constructed base
Amit Ashara wrote:
> I have the updated files for lldp transmit function. How do I put it up for
> review?
What about setting up a repository somewhere 8e.g. github?) and posting a link
here?
As i said at the beginning, I'd be interested to see an lldp implementation.
However, lwIP is an *IP* s
Hello Simon
OK, I will set it up on git. I wanted to however check before I do that is
that is there a contributor license agreement/contributors agreement for
lwIP that I need to be aware of?
Regards
Amit
___
lwip-users mailing list
lwip-users@nongnu.o
Amit Ashara wrote:
> I wanted to however check before I do that is that is there a contributor
> license
> agreement/contributors agreement for lwIP that I need to be aware of?
lwIP's license is available nearly everywhere (website, sources, etc.).
What I don't get is: where would the lwIP licen
Hello Simon
The lwIP license would not be touched. The only change will be that the
lldp.c and lldp.h files may have copyright information w.r.t the
organization I work for (*and I am clarifying with the legal team).
Regards
Amit
On Fri, Aug 19, 2016 at 9:11 AM, Simon Goldschmidt wrote:
> Amit
Hi Amit,
of course you must make up for a licence before sharing anything.
Personally, I'm not sure I would contribute to anything not compatible to
the lwip licence though.
Simon
Gesendet mit AquaMail für Android
http://www.aqua-mail.com
Am 19. August 2016 4:28:55 nachm. schrieb Amit Ash
Hi Amit,
you can now use ethernet_output() in lwIP git head to send your packets.
There is also an LWIP_HOOK_UNKNOWN_ETH_PROTOCOL now to receive ethernet
protocols that are unknown to lwIP.
Dirk
--
Dirk Ziegelmeier * d...@ziegelmeier.net * http://www.ziegelmeier.net
On Fri, Aug 19, 2016 at 4:28
Hello Dirk
I am using 1.4.1 version of the lwIP. Maybe once I get all the copyright
and licensing in place, I can share the lldp files for review and latter
merge them with lwIP if everyone else agrees
Regards
Amit
On Tue, Aug 23, 2016 at 5:46 AM, Dirk Ziegelmeier
wrote:
> Hi Amit,
>
> you can
Hello All,
How do I release the source code and the license file? I have never used
git earlier.
Regards
Amit
On Tue, Aug 23, 2016 at 7:01 AM, Amit Ashara wrote:
> Hello Dirk
>
> I am using 1.4.1 version of the lwIP. Maybe once I get all the copyright
> and licensing in place, I can share the
32 matches
Mail list logo