As long as you have good understanding what nodes in the middle are doing you 
should be fine.

Likely most complicated case is with node A before FIB lookup and node C after. 
FIB
might send your frames to different encap nodes which may overwrite opaque, one 
candidate 
is definitely ipsec which uses opaque for storing security associations.


> On 24 Nov 2016, at 13:27, gannega <gabriel.ga...@qosmos.com> wrote:
> 
> The flowtable uses the opaque buffer for two things:
> - it provides a flow id, and a flow state
> - it provides an opaque buffer to be filled with information external to
> vpp (which in my case is dpi metadatas, but it could be anything) using
> the binary API.
> 
> So the flowtable (node A) alone will provides flow-level information,
> but does not do anything with them, and any other subsequent node (node
> C) can make use of this data.
> 
> In my specific use case, there is nothing between A and C, and all the
> packets go from A to C.
> But, if a node B were to overwrite the data written by the flowtable,
> then it would be up to C to know it and act consequently, right ?
> 
> Regards,
> 
> On 11/24/16 12:36, Damjan Marion wrote:
>> 
>> both opaque and opaque2 are shared resource. There is no guarantee
>> that node in the middle will not overwrite it.
>> 
>> Is your situation really a case where node A needs to send some
>> information to node C and there is
>> unknown B or many Bs in the middle?
>> 
>> 
>>> On 23 Nov 2016, at 15:15, gannega <gabriel.ga...@qosmos.com
>>> <mailto:gabriel.ga...@qosmos.com>> wrote:
>>> 
>>> Thanks for the explanation.
>>> 
>>> So I can use anything I want within the opaque buffer as long as I don't
>>> presume what happens next.
>>> 
>>> And ... I'm actually doing things I should not in the flowtable (which
>>> wasn't obvious to me until you explained it that way) ... so I'll go fix
>>> that.
>>> 
>>> 
>>> Thanks again,
>>> 
>>> Best regards,
>>> 
>>> 
>>> On 11/23/16 14:55, Keith Burns wrote:
>>>> 
>>>> 
>>>> On Wed, Nov 23, 2016 at 5:23 AM gannega <gabriel.ga...@qosmos.com
>>>> <mailto:gabriel.ga...@qosmos.com>
>>>> <mailto:gabriel.ga...@qosmos.com>> wrote:
>>>> 
>>>>   Hi Keith,
>>>> 
>>>>   This is a kind reminder.
>>>> 
>>>> 
>>>> Apologies for tardiness...
>>>> 
>>>> 
>>>>   Also, I stumbled upon VPP-320, and especially
>>>>   https://gerrit.fd.io/r/#/c/1676/ which adds a 6 Bytes of
>>>>   plugin_metadata
>>>>   in the opaque1 union, which has been reopened for nsh-proxy.
>>>> 
>>>> 
>>>> I guess the real issue here is that we should only presume the
>>>> existence of things that we know to exist :-P (Oooooohhhhhm, tree
>>>> falling in the woods, sound of one hand clapping).
>>>> 
>>>> Simply put, lets assume nodes A -> B -> C -> D (in that order).
>>>> 
>>>> Ideally opaque metadata from node A -> "something else" should only
>>>> tell "something else" about some kind of state from node A.
>>>> 
>>>> ie node A writes into opaque "the state of A is red" with the
>>>> intention that this means something to a later node (ie node C drops
>>>> packets when state is "red")
>>>> 
>>>> What it should avoid doing is:
>>>> 
>>>> node A writes into opaque "node C should do this".
>>>> 
>>>> In the case where node C is a plugin, which are by definition
>>>> "optional", this should be verboten.
>>>> 
>>>> At some point we may want to add/subtract nodes from the graph post
>>>> run-time init. If we have a scheme that assumes the existence of some
>>>> later node "bad things" (tm) will happen, IMHO.
>>>> 
>>>> So node A exists, (Cogito, ergo sum... or maybe "Puto esse ego"  - I
>>>> think I exist?) therefore it's ok for it to say things about it's
>>>> state or the things preceding it.
>>>> 
>>>> 
>>>>   I feel this might be a good way to go which would ensure no collision
>>>>   between the uses of the flowtable and the rest of vpp (if such was
>>>>   indeed your fear).
>>>> 
>>>> 
>>>> Collisions can be avoided with interface feature awareness, no ?
>>>> 
>>>> 
>>> 
>>> --
>>> Gabriel Ganne
>>> 
>>> This message and any attachments (the "message") are confidential,
>>> intended solely for the addressees. If you are not the intended
>>> recipient, please notify the sender immediately by e-mail and delete
>>> this message from your system. In this case, you are not authorized
>>> to use, copy this message and/or disclose the content to any other
>>> person. E-mails are susceptible to alteration. Neither Qosmos nor any
>>> of its subsidiaries or affiliates shall be liable for the message if
>>> altered, changed or falsified.
>>> 
>>> Ce message et toutes ses pièces jointes (ci-après le "message")sont
>>> confidentiels et établis à l'intention exclusive de ses
>>> destinataires. Si vous avez reçu ce message par erreur, merci d’en
>>> informer immédiatement son émetteur par courrier électronique et
>>> d’effacer ce message de votre système. Dans cette hypothèse, vous
>>> n’êtes pas autorisé à utiliser, copier ce message et/ou en divulguer
>>> le contenu à un tiers. Tout message électronique est susceptible
>>> d'altération. Qosmos et ses filiales déclinent toute responsabilité
>>> au titre de ce message s'il a été altéré, déformé ou falsifié.
>>> _______________________________________________
>>> vpp-dev mailing list
>>> vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
>>> https://lists.fd.io/mailman/listinfo/vpp-dev
>> 
> 
> --
> Gabriel Ganne
> 
> This message and any attachments (the "message") are confidential, intended 
> solely for the addressees. If you are not the intended recipient, please 
> notify the sender immediately by e-mail and delete this message from your 
> system. In this case, you are not authorized to use, copy this message and/or 
> disclose the content to any other person. E-mails are susceptible to 
> alteration. Neither Qosmos nor any of its subsidiaries or affiliates shall be 
> liable for the message if altered, changed or falsified.
> 
> Ce message et toutes ses pièces jointes (ci-après le "message")sont 
> confidentiels et établis à l'intention exclusive de ses destinataires. Si 
> vous avez reçu ce message par erreur, merci d’en informer immédiatement son 
> émetteur par courrier électronique et d’effacer ce message de votre système. 
> Dans cette hypothèse, vous n’êtes pas autorisé à utiliser, copier ce message 
> et/ou en divulguer le contenu à un tiers. Tout message électronique est 
> susceptible d'altération. Qosmos et ses filiales déclinent toute 
> responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié.

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to