lkml.org 
[lkml]   [2022]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 365/475] openvswitch: Fixed nd target mask field in the flow dump.
    Date
    From: Martin Varghese <martin.varghese@nokia.com>

    commit f19c44452b58a84d95e209b847f5495d91c9983a upstream.

    IPv6 nd target mask was not getting populated in flow dump.

    In the function __ovs_nla_put_key the icmp code mask field was checked
    instead of icmp code key field to classify the flow as neighbour discovery.

    ufid:bdfbe3e5-60c2-43b0-a5ff-dfcac1c37328, recirc_id(0),dp_hash(0/0),
    skb_priority(0/0),in_port(ovs-nm1),skb_mark(0/0),ct_state(0/0),
    ct_zone(0/0),ct_mark(0/0),ct_label(0/0),
    eth(src=00:00:00:00:00:00/00:00:00:00:00:00,
    dst=00:00:00:00:00:00/00:00:00:00:00:00),
    eth_type(0x86dd),
    ipv6(src=::/::,dst=::/::,label=0/0,proto=58,tclass=0/0,hlimit=0/0,frag=no),
    icmpv6(type=135,code=0),
    nd(target=2001::2/::,
    sll=00:00:00:00:00:00/00:00:00:00:00:00,
    tll=00:00:00:00:00:00/00:00:00:00:00:00),
    packets:10, bytes:860, used:0.504s, dp:ovs, actions:ovs-nm2

    Fixes: e64457191a25 (openvswitch: Restructure datapath.c and flow.c)
    Signed-off-by: Martin Varghese <martin.varghese@nokia.com>
    Link: https://lore.kernel.org/r/20220328054148.3057-1-martinvarghesenokia@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/openvswitch/flow_netlink.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/net/openvswitch/flow_netlink.c
    +++ b/net/openvswitch/flow_netlink.c
    @@ -2179,8 +2179,8 @@ static int __ovs_nla_put_key(const struc
    icmpv6_key->icmpv6_type = ntohs(output->tp.src);
    icmpv6_key->icmpv6_code = ntohs(output->tp.dst);

    - if (icmpv6_key->icmpv6_type == NDISC_NEIGHBOUR_SOLICITATION ||
    - icmpv6_key->icmpv6_type == NDISC_NEIGHBOUR_ADVERTISEMENT) {
    + if (swkey->tp.src == htons(NDISC_NEIGHBOUR_SOLICITATION) ||
    + swkey->tp.src == htons(NDISC_NEIGHBOUR_ADVERTISEMENT)) {
    struct ovs_key_nd *nd_key;

    nla = nla_reserve(skb, OVS_KEY_ATTR_ND, sizeof(*nd_key));

    \
     
     \ /
      Last update: 2022-04-14 17:33    [W:4.145 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site