lkml.org 
[lkml]   [2017]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [RFC v2 6/6] flow_dissector: Parse batman-adv unicast headers
    On Wed, Dec 6, 2017 at 8:54 AM, Willem de Bruijn
    <willemdebruijn.kernel@gmail.com> wrote:
    > On Wed, Dec 6, 2017 at 5:26 AM, Sven Eckelmann
    > <sven.eckelmann@openmesh.com> wrote:
    >> On Dienstag, 5. Dezember 2017 09:19:45 CET Tom Herbert wrote:
    >> [...]
    >>> Switch statements with cases having many LOC is hard to read and
    >>> __skb_flow_dissect is aleady quite convoluted to begin with.
    >>>
    >>> I suggest putting this in a static function similar to how MPLS and
    >>> GRE are handled.
    >
    > Perhaps it can even be behind a static key depending on whether any
    > devices are active, adjusted in batadv_hardif_(en|dis)able_interface.
    >
    It's aready in a switch statement so static key shouldn't make a
    difference. Also, we have made flow dissector operate indendently of
    whether to end protocol is enable (for instance GRE is dissected
    regarless of whether and GRE tunnels are configured).

    Tom

    >> Thanks for the feedback.
    >>
    >> I was not sure whether "inline" or an extra function would be preferred. I've
    >> then decided to implement it like most of the other protocols. But since an
    >> extra function is the preferred method for handling new protos, I will move it
    >> to an extra function.
    >>
    >> The change can already be found in
    >> https://git.open-mesh.org/linux-merge.git/shortlog/refs/heads/ecsv/flowdissector
    >>
    >> I also saw that you've introduced in
    >> commit 823b96939578 ("flow_dissector: Add control/reporting of encapsulation")
    >> a flag to stop dissecting when something encapsulated was detected. It is not
    >> 100% clear to me when the FLOW_DIS_ENCAPSULATION should be set and
    >> FLOW_DISSECTOR_F_STOP_AT_ENCAP be checked. Only when there is IP/eth in IP
    >> (like in the two examples from the commit message) or also when there is a
    >> ethernet header, followed by batman-adv unicast header and again followed by
    >> an ethernet header?
    >
    > Please implement FLOW_DISSECTOR_F_STOP_AT_ENCAP. It may
    > be used in more flow dissector paths in the future.
    >
    > The features are also used by GRE, which can encap Ethernet, for an example
    > that is closer to this protocol.

    \
     
     \ /
      Last update: 2017-12-06 18:11    [W:3.647 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site