can i break chain of npkt-s (ie if(npkt->next!=0))?

Hi, all!

I ask again my question (but may be in another form):

can i break chain of npkt-s in my filter in rx_up handler
ie if(npkt->next!=0) ?

e.g. i can want drop some of packets from this chain
(i.e. dont do ion->tx_up for this packets)
but for some another packets from this chain i can
want do ion->tx_up() immediately
and for some packets from this chain i can
want do ion->tx_up() some long time ago…!!!

Q: can i break npkt-s chain?

And this question could be fromed in another way also:
does originator of that npkt-chain register
only header of this chain or each npkt
in this chain individually?

Thanks!

vasilii

AFAIK, you should never get an up headed packet with
npkt->next != 0. What are you registering as?
What is below you (which driver, assuming you are
above a driver).

-seanb

vasilii <vv40in@rambler.ru> wrote:
: Hi, all!

: I ask again my question (but may be in another form):

: can i break chain of npkt-s in my filter in rx_up handler
: ie if(npkt->next!=0) ?

: e.g. i can want drop some of packets from this chain
: (i.e. dont do ion->tx_up for this packets)
: but for some another packets from this chain i can
: want do ion->tx_up() immediately
: and for some packets from this chain i can
: want do ion->tx_up() some long time ago…!!!

: Q: can i break npkt-s chain?

: And this question could be fromed in another way also:
: does originator of that npkt-chain register
: only header of this chain or each npkt
: in this chain individually?

: Thanks!

: vasilii

Almost all the NIC drivers use a single buffer to receive the packets,so
that the cards that do not support scatter gather still work.So… the moral
of the story is you will NOT get a chain of npkts or even chain of netbufs
or iovs for the packets from the NIC driver…

Sreekanth

“Sean Boudreau” <seanb@qnx.com> wrote in message
news:aap4fl$lgn$1@nntp.qnx.com

AFAIK, you should never get an up headed packet with
npkt->next != 0. What are you registering as?
What is below you (which driver, assuming you are
above a driver).

-seanb

vasilii <> vv40in@rambler.ru> > wrote:
: Hi, all!

: I ask again my question (but may be in another form):

: can i break chain of npkt-s in my filter in rx_up handler
: ie if(npkt->next!=0) ?

: e.g. i can want drop some of packets from this chain
: (i.e. dont do ion->tx_up for this packets)
: but for some another packets from this chain i can
: want do ion->tx_up() immediately
: and for some packets from this chain i can
: want do ion->tx_up() some long time ago…!!!

: Q: can i break npkt-s chain?

: And this question could be fromed in another way also:
: does originator of that npkt-chain register
: only header of this chain or each npkt
: in this chain individually?

: Thanks!

: vasilii





\

Sean Boudreau <seanb@qnx.com> ÐÉÛÅÔ × ÓÏÏÂÝÅÎÉÉ:aap4fl$lgn$1@nntp.qnx.com

AFAIK, you should never get an up headed packet with
npkt->next != 0. What are you registering as?
What is below you (which driver, assuming you are
above a driver).

i am registering as ip_ip filter.
Below me is ARP
and above me is TCP/IP stack.

vasilii


-seanb

vasilii <> vv40in@rambler.ru> > wrote:
: Hi, all!

: I ask again my question (but may be in another form):

: can i break chain of npkt-s in my filter in rx_up handler
: ie if(npkt->next!=0) ?

: e.g. i can want drop some of packets from this chain
: (i.e. dont do ion->tx_up for this packets)
: but for some another packets from this chain i can
: want do ion->tx_up() immediately
: and for some packets from this chain i can
: want do ion->tx_up() some long time ago…!!!

: Q: can i break npkt-s chain?

: And this question could be fromed in another way also:
: does originator of that npkt-chain register
: only header of this chain or each npkt
: in this chain individually?

: Thanks!

: vasilii





\

Sean Boudreau <seanb@qnx.com> ïèøåò â ñîîáùåíèè:aarckr$djl$1@nntp.qnx.com

vasilii <> vv40in@rambler.ru> > wrote:

: Sean Boudreau <> seanb@qnx.com> > ÐÉÛÅÔ ×
ÓÏÏÂÝÅÎÉÉ:aap4fl$lgn$> 1@nntp.qnx.com> …
:
:> AFAIK, you should never get an up headed packet with
:> npkt->next != 0. What are you registering as?
:> What is below you (which driver, assuming you are
:> above a driver).

: i am registering as ip_ip filter.
: Below me is ARP
: and above me is TCP/IP stack.

: vasilii

And are you actually getting such a packet? What driver
is below arp?

it is devn-el900.so now
but it could be ANY other in future.

vasilii

HI, all !

PLEASE!
my question was not
“can i receive chain of packets or no”
(more so – it was not “can i get fragmented packets”),
my question was:
“CAN I BREAK this chain of packets”?

answer me on THIS question, please!

I guess that driver of netcard (or any filter) could
build a chain of packets when network is overloaded.
can it be so?

or may be it is uncorrected english in my email?
if so, i am sorry – it is incurable case :slight_smile:

Thanks
vasilii

Bernard Leclerc <whittom-leclerc@sympatico.ca> ÐÉÛÅÔ ×
ÓÏÏÂÝÅÎÉÉ:aaqalk$4q2$1@inn.qnx.com

Sreekanth wrote:

Almost all the NIC drivers use a single buffer to receive the
packets,so
that the cards that do not support scatter gather still work.So… the
moral
of the story is you will NOT get a chain of npkts or even chain of
netbufs
or iovs for the packets from the NIC driver…

Well… that may be true in most cases but that’s not what we want to
do. In the case of our 1394 driver (we’re getting data from a IEEE-1394
OHCI adapter), we want to avoid copying the incoming data which can be
scattered on two segments. To achieve this, we build a single npkt with
potentially two iov’s and we do a tx_up on it. At the present time, I
must admit that packets do NOT seem to go up when they’re fragmented,
but, according to Sean Boudreau, this should work.

Conclusion: Plan for fragmented packets in your converter.

Sreekanth wrote:

Almost all the NIC drivers use a single buffer to receive the
packets,so
that the cards that do not support scatter gather still work.So… the
moral
of the story is you will NOT get a chain of npkts or even chain of
netbufs
or iovs for the packets from the NIC driver…

Well… that may be true in most cases but that’s not what we want to
do. In the case of our 1394 driver (we’re getting data from a IEEE-1394
OHCI adapter), we want to avoid copying the incoming data which can be
scattered on two segments. To achieve this, we build a single npkt with
potentially two iov’s and we do a tx_up on it. At the present time, I
must admit that packets do NOT seem to go up when they’re fragmented,
but, according to Sean Boudreau, this should work.

Conclusion: Plan for fragmented packets in your converter.

vasilii <vv40in@rambler.ru> wrote:

: Sean Boudreau <seanb@qnx.com> ÐÉÛÅÔ × ÓÏÏÂÝÅÎÉÉ:aap4fl$lgn$1@nntp.qnx.com
:>
:> AFAIK, you should never get an up headed packet with
:> npkt->next != 0. What are you registering as?
:> What is below you (which driver, assuming you are
:> above a driver).

: i am registering as ip_ip filter.
: Below me is ARP
: and above me is TCP/IP stack.

: vasilii

And are you actually getting such a packet? What driver
is below arp?

-seanb

vasilii <vv40in@rambler.ru> wrote:
: HI, all !

: PLEASE!
: my question was not
: “can i receive chain of packets or no”
: (more so – it was not “can i get fragmented packets”),
: my question was:
: “CAN I BREAK this chain of packets”?

: answer me on THIS question, please!

: I guess that driver of netcard (or any filter) could
: build a chain of packets when network is overloaded.
: can it be so?

I’ve already said this shouldn’t happen in the
first place so I think you’re worrying about
a non existant problem. You haven’t answered my
question as to if this is even happening.

-seanb

: or may be it is uncorrected english in my email?
: if so, i am sorry – it is incurable case :slight_smile:

: Thanks
: vasilii

: Bernard Leclerc <whittom-leclerc@sympatico.ca> ÐÉÛÅÔ ×
: ÓÏÏÂÝÅÎÉÉ:aaqalk$4q2$1@inn.qnx.com
:> Sreekanth wrote:
:>
:> > Almost all the NIC drivers use a single buffer to receive the
:> packets,so
:> > that the cards that do not support scatter gather still work.So… the
:> moral
:> > of the story is you will NOT get a chain of npkts or even chain of
:> netbufs
:> > or iovs for the packets from the NIC driver…
:>
:> Well… that may be true in most cases but that’s not what we want to
:> do. In the case of our 1394 driver (we’re getting data from a IEEE-1394
:> OHCI adapter), we want to avoid copying the incoming data which can be
:> scattered on two segments. To achieve this, we build a single npkt with
:> potentially two iov’s and we do a tx_up on it. At the present time, I
:> must admit that packets do NOT seem to go up when they’re fragmented,
:> but, according to Sean Boudreau, this should work.
:>
:> Conclusion: Plan for fragmented packets in your converter.
:>

Sean, I think you missing his point. He is saying that he WANTS to do it.
Is it OK?

“Sean Boudreau” <seanb@qnx.com> wrote in message
news:aartbm$qa5$1@nntp.qnx.com

vasilii <> vv40in@rambler.ru> > wrote:
: HI, all !

: PLEASE!
: my question was not
: “can i receive chain of packets or no”
: (more so – it was not “can i get fragmented packets”),
: my question was:
: “CAN I BREAK this chain of packets”?

: answer me on THIS question, please!

: I guess that driver of netcard (or any filter) could
: build a chain of packets when network is overloaded.
: can it be so?

I’ve already said this shouldn’t happen in the
first place so I think you’re worrying about
a non existant problem. You haven’t answered my
question as to if this is even happening.

-seanb

: or may be it is uncorrected english in my email?
: if so, i am sorry – it is incurable case > :slight_smile:

: Thanks
: vasilii

: Bernard Leclerc <> whittom-leclerc@sympatico.ca> > ÐÉÛÅÔ ×
: ÓÏÏÂÝÅÎÉÉ:aaqalk$4q2$> 1@inn.qnx.com> …
:> Sreekanth wrote:
:
:> > Almost all the NIC drivers use a single buffer to receive the
:> packets,so
:> > that the cards that do not support scatter gather still work.So… the
:> moral
:> > of the story is you will NOT get a chain of npkts or even chain of
:> netbufs
:> > or iovs for the packets from the NIC driver…
:
:> Well… that may be true in most cases but that’s not what we want to
:> do. In the case of our 1394 driver (we’re getting data from a IEEE-1394
:> OHCI adapter), we want to avoid copying the incoming data which can be
:> scattered on two segments. To achieve this, we build a single npkt with
:> potentially two iov’s and we do a tx_up on it. At the present time, I
:> must admit that packets do NOT seem to go up when they’re fragmented,
:> but, according to Sean Boudreau, this should work.
:
:> Conclusion: Plan for fragmented packets in your converter.
:

\

“Bill Caroselli (Q-TPS)” <QTPS@earthlink.net> wrote:

Sean, I think you missing his point. He is saying that he WANTS to do it.
Is it OK?

I guess what he is trying to say is:

If his module got a npkt chain, can his module break it?

Sean already point out this “WILL NOT HAPPEN” (I think io-net break
a npkt chain on the way up).

Even if io-net didn’t break npkt chain (on way up), from the design
point of view, I believe you SHOULD BE ALLOWED to break the chain,
and calling tx_done on each piece. (means the orignator should not
depend on his chain will not be broken …)

-xtang

“Sean Boudreau” <> seanb@qnx.com> > wrote in message
news:aartbm$qa5$> 1@nntp.qnx.com> …
vasilii <> vv40in@rambler.ru> > wrote:
: HI, all !

: PLEASE!
: my question was not
: “can i receive chain of packets or no”
: (more so – it was not “can i get fragmented packets”),
: my question was:
: “CAN I BREAK this chain of packets”?

: answer me on THIS question, please!

: I guess that driver of netcard (or any filter) could
: build a chain of packets when network is overloaded.
: can it be so?

I’ve already said this shouldn’t happen in the
first place so I think you’re worrying about
a non existant problem. You haven’t answered my
question as to if this is even happening.

-seanb

: or may be it is uncorrected english in my email?
: if so, i am sorry – it is incurable case > :slight_smile:

: Thanks
: vasilii

: Bernard Leclerc <> whittom-leclerc@sympatico.ca> > ÐÉÛÅÔ ×
: ÓÏÏÂÝÅÎÉÉ:aaqalk$4q2$> 1@inn.qnx.com> …
:> Sreekanth wrote:
:
:> > Almost all the NIC drivers use a single buffer to receive the
:> packets,so
:> > that the cards that do not support scatter gather still work.So… the
:> moral
:> > of the story is you will NOT get a chain of npkts or even chain of
:> netbufs
:> > or iovs for the packets from the NIC driver…
:
:> Well… that may be true in most cases but that’s not what we want to
:> do. In the case of our 1394 driver (we’re getting data from a IEEE-1394
:> OHCI adapter), we want to avoid copying the incoming data which can be
:> scattered on two segments. To achieve this, we build a single npkt with
:> potentially two iov’s and we do a tx_up on it. At the present time, I
:> must admit that packets do NOT seem to go up when they’re fragmented,
:> but, according to Sean Boudreau, this should work.
:
:> Conclusion: Plan for fragmented packets in your converter.
:

\

Xiaodan Tang! Thank You very much!
it is just that answer which i want to see!

Best regards,
vasilii

Xiaodan Tang <xtang@qnx.com>

“Bill Caroselli (Q-TPS)” <> QTPS@earthlink.net> > wrote:
Sean, I think you missing his point. He is saying that he WANTS to do
it.
Is it OK?

I guess what he is trying to say is:

If his module got a npkt chain, can his module break it?

Sean already point out this “WILL NOT HAPPEN” (I think io-net break
a npkt chain on the way up).

Even if io-net didn’t break npkt chain (on way up), from the design
point of view, I believe you SHOULD BE ALLOWED to break the chain,
and calling tx_done on each piece. (means the orignator should not
depend on his chain will not be broken …)

-xtang

“Sean Boudreau” <> seanb@qnx.com> > wrote in message
news:aartbm$qa5$> 1@nntp.qnx.com> …
vasilii <> vv40in@rambler.ru> > wrote:
: HI, all !

: PLEASE!
: my question was not
: “can i receive chain of packets or no”
: (more so – it was not “can i get fragmented packets”),
: my question was:
: “CAN I BREAK this chain of packets”?

: answer me on THIS question, please!

: I guess that driver of netcard (or any filter) could
: build a chain of packets when network is overloaded.
: can it be so?

I’ve already said this shouldn’t happen in the
first place so I think you’re worrying about
a non existant problem. You haven’t answered my
question as to if this is even happening.

-seanb

: or may be it is uncorrected english in my email?
: if so, i am sorry – it is incurable case > :slight_smile:

: Thanks
: vasilii

: Bernard Leclerc <> whittom-leclerc@sympatico.ca> > ÐÉÛÅÔ ×
: ÓÏÏÂÝÅÎÉÉ:aaqalk$4q2$> 1@inn.qnx.com> …
:> Sreekanth wrote:
:
:> > Almost all the NIC drivers use a single buffer to receive the
:> packets,so
:> > that the cards that do not support scatter gather still work.So…
the
:> moral
:> > of the story is you will NOT get a chain of npkts or even chain of
:> netbufs
:> > or iovs for the packets from the NIC driver…
:
:> Well… that may be true in most cases but that’s not what we want
to
:> do. In the case of our 1394 driver (we’re getting data from a
IEEE-1394
:> OHCI adapter), we want to avoid copying the incoming data which can
be
:> scattered on two segments. To achieve this, we build a single npkt
with
:> potentially two iov’s and we do a tx_up on it. At the present time,
I
:> must admit that packets do NOT seem to go up when they’re
fragmented,
:> but, according to Sean Boudreau, this should work.
:
:> Conclusion: Plan for fragmented packets in your converter.
:



\