mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Antony Pavlov <antonynpavlov@gmail.com>
To: DI PEDE Michele <michele.dipede@altran.com>
Cc: barebox <barebox@lists.infradead.org>,
	Daniele Lacamera <daniele.lacamera@altran.be>
Subject: Re: picotcp barebox integration
Date: Sat, 28 Feb 2015 21:01:01 +0400	[thread overview]
Message-ID: <20150228210101.cfcbb70a472f7a910e19aada@gmail.com> (raw)
In-Reply-To: <1588230.G27jqyn2gQ@linux-small.site>

On Wed, 28 Jan 2015 14:35:19 +0100
DI PEDE Michele <michele.dipede@altran.com> wrote:

> Hi all,
> HEAD of development branch contains the required API for a smooth integration 
> with Barebox.
> User manual contains all the information for use them. There is also a small 
> demo TFTP client that show how to use the application driven interface 
> test/test_tftp_app_client.c. To build it just do make clean; make test; cd 
> test; make.
> Now should be easy to integrate out stack in Barebox code.
> Let me know how the integration effort proceed. We could provide proper 
> support from our side to speed up things.

I have tryed to integrate picotcp tftp support into barebox.
Latest picotcp development branch commit is

    commit 0a3b361848efe20259cb3ca5e79d73a95d8f476c
    Author: Daniele Lacamera <daniele.lacamera@tass.be>
    Date:   Wed Jan 28 13:55:23 2015 +0100
    
        Added link status call to the device driver interface
    
IMHO the tftp interface introduced in this picotcp development branch
can't be easely integrated into barebox tftp filesystem support code.

I'll illustrate this on sample barebox tftp file download session:

    barebox user setup network parameters and run 'tftp <filename>' command;
   
    the tftp commands mounts tftp-server rootdir to barebox "/.tftp_tmp_path";
    and start file copy operation (/.tftp_tmp_path/<filename> -> /<filename>).

    copy operation consists of standard calls (very schematically):

      srcfd = open(<source file>, O_RDONLY);
      ...
      dstfd = open(<destination file>, O_WRONLY | O_CREAT | O_TRUNC);
      ...
      stat(srcfd, ...); /* just determine source file size if possible */
      ...
      while (r = read(srcfd, buffer, 4096)) {
          write(dstfd, buffer, r);
          ...
      }

      so reading data block from tftp-server is made by initiative of barebox command.
      The barebox tftp support code realize all standard calls (open, stat, read, write ...).

      But let's examine picotcp tftp API. Picotcp tftp downloading file code consist of

           priv->session = pico_tftp_session_setup(&tpriv->server_ip4, PICO_PROTO_IPV4);
           ...
           pico_tftp_start_rx(priv->session, short_be(PICO_TFTP_PORT), filename, cb_tftp_rx_opt, priv);

       But pico_tftp_start_rx() tries to download WHOLE FILE from tftp-server.
       I see no means to suspend data transfer initiated by  pico_tftp_start_rx(),
       so I have no means to realize necessary read() and write() calls.

Sascha! Please comment this message.

> If you have any question please don't esitate to contact us
> 
> Best regards
> Michele Di Pede
> 
> Friday 19 December 2014 18:28:30, Michele Di Pede wrote:
> > Hi all,
> > I'm been very busy but I plan to work on the TFPT during the coming holidays
> > to complete the it.
> > 
> > Regards
> > 
> > On Fri, Nov 28, 2014 at 8:38 PM, Daniele Lacamera
> > 
> > <daniele.lacamera@tass.be> wrote:
> > > Hi all,
> > > 
> > > Michele has been busy with another assignment lately, but he has also
> > > been working on the features you requested. He will update you on the
> > > status of his TFTP branch soon.
> > > 
> > > Thanks
> > > 
> > > /d
> > > 
> > > On Fri, Nov 21, 2014 at 3:25 PM, Antony Pavlov <antonynpavlov@gmail.com> 
> wrote:
> > >> Hi!
> > >> 
> > >> What is current picotcp barebox integration status?
> > >> 
> > >> AFAIR latest picotcp-barebox integration discussion thread is
> > >> http://lists.infradead.org/pipermail/barebox/2014-September/020732.html
> > >> 
> > >> --
> > >> Best regards,
> > >> 
> > >>   Antony Pavlov


-- 
-- 
Best regards,
  Antony Pavlov

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2015-02-28 16:57 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21 14:25 Antony Pavlov
2014-11-28 19:38 ` Daniele Lacamera
2014-12-19 17:28   ` Michele Di Pede
2015-01-28 13:35     ` DI PEDE Michele
2015-02-28 17:01       ` Antony Pavlov [this message]
2015-03-01  0:29         ` DI PEDE Michele
2015-03-01 12:54           ` Antony Pavlov
2015-03-01 16:15             ` DI PEDE Michele
2015-03-31 12:50               ` Antony Pavlov

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=20150228210101.cfcbb70a472f7a910e19aada@gmail.com \
    --to=antonynpavlov@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=daniele.lacamera@altran.be \
    --cc=michele.dipede@altran.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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