[lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread goldsi...@gmx.de
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,

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Sergio R. Caprile
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Sergio R. Caprile
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread goldsi...@gmx.de
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.

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Sergio R. Caprile
> 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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Sergio R. Caprile
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-03 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-04 Thread Sergio R. Caprile
> 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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-04 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-12 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-12 Thread goldsimon
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-12 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-15 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-17 Thread Sergio R. Caprile
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-17 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-17 Thread Simon Goldschmidt
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-17 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-17 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-18 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-19 Thread Simon Goldschmidt
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-19 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-19 Thread Simon Goldschmidt
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-19 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-19 Thread goldsimon
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-23 Thread Dirk Ziegelmeier
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-08-23 Thread Amit Ashara
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

Re: [lwip-users] LLDP Implementation for lwIP

2016-09-07 Thread Amit Ashara
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