[ovs-git] [openvswitch/ovs] 8a41ad: actions: Fix "arp" and "nd_na" followed by another...

GitHub noreply at github.com
Fri Jan 20 22:32:07 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 8a41ad8e994c77f48cb321932a262e1f7cf84e19
      https://github.com/openvswitch/ovs/commit/8a41ad8e994c77f48cb321932a262e1f7cf84e19
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2017-01-20 (Fri, 20 Jan 2017)

  Changed paths:
    M ovn/lib/actions.c
    M tests/ovn.at

  Log Message:
  -----------
  actions: Fix "arp" and "nd_na" followed by another action.

OVN logical actions are supposed to be padded to a multiple of 8 bytes,
but the code for parsing "arp" and "nd_na" actions didn't do this properly.
The result was that it worked OK if one of these actions was the last one
in a sequence of logical actions, but failed badly if they were in the
middle.  This commit fixes the problem, adds assertions to make it harder
for the problem to recur, and adds a test.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Mickey Spiegel <mickeys.dev at gmail.com>


  Commit: f1393f6f3469c25d22a7633c7b1fe0e8be94ed3d
      https://github.com/openvswitch/ovs/commit/f1393f6f3469c25d22a7633c7b1fe0e8be94ed3d
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2017-01-20 (Fri, 20 Jan 2017)

  Changed paths:
    M include/ovn/lex.h
    M ovn/lib/lex.c

  Log Message:
  -----------
  lex: Make lexer_force_match() work for LEX_T_END.

Without this change, lexer_force_match(lex, LEX_T_END) mostly works, except
that in the failure case it emits an error that says "expecting `$'",
which is a surprising error message.

Arguably, lexer_force_end() could be removed entirely, but I don't see a
real problem with the existing arrangement.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Mickey Spiegel <mickeys.dev at gmail.com>


  Commit: bac295648d693edfe437d240cfb24a7c55ec169e
      https://github.com/openvswitch/ovs/commit/bac295648d693edfe437d240cfb24a7c55ec169e
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2017-01-20 (Fri, 20 Jan 2017)

  Changed paths:
    M ovn/lib/actions.c
    M tests/ovn.at

  Log Message:
  -----------
  actions: Make "arp { drop; };" acceptable.

Before this commit, the OVN action parser would accept "arp {};" and then
the formatter would format it back as "arp { drop; };", but the parser
didn't accept the latter.  There were basically two choices: make the
parser accept "arp { drop; };" or make the formatter output "arp {};"
(or both).  This patch does (only) the former, and adds a test to avoid
regression.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Mickey Spiegel <mickeys.dev at gmail.com>


Compare: https://github.com/openvswitch/ovs/compare/6fd4b2a33f9e...bac295648d69


More information about the git mailing list