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

GitHub noreply at github.com
Fri Jan 20 22:33:57 UTC 2017


  Branch: refs/heads/branch-2.7
  Home:   https://github.com/openvswitch/ovs
  Commit: 18f7934cb45805002f0edaac06374e4017d52a23
      https://github.com/openvswitch/ovs/commit/18f7934cb45805002f0edaac06374e4017d52a23
  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: dd0021341259ad29f98386e5abbd3bbf5a195da9
      https://github.com/openvswitch/ovs/commit/dd0021341259ad29f98386e5abbd3bbf5a195da9
  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: a88dbabfc64ea178c139cb0ba2b05704581b6e75
      https://github.com/openvswitch/ovs/commit/a88dbabfc64ea178c139cb0ba2b05704581b6e75
  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/96f655f8a756...a88dbabfc64e


More information about the git mailing list