Document recently added ovs-appctl command
Fixes: 9df65060cf4c ("userspace: Avoid dp_hash recirculation for balance-tcp
bond mode.")
Cc: vishal.deep.ajm...@ericsson.com
Signed-off-by: Adrian Moreno
---
lib/dpif-netdev-unixctl.man | 9 +
1 file changed, 9 insertions(+)
diff -
Please ignore this patch
On 7/6/20 11:25 AM, Adrian Moreno wrote:
> Document recently added ovs-appctl command
>
> Fixes: ac1d2685ebcd ("dpif-netdev-unixctl.man: document bond-show command")
> Cc: amore...@redhat.com
> Signed-off-by: Adrian Moreno
> ---
>
On 7/3/20 7:29 PM, Flavio Leitner wrote:
> On Fri, Jul 03, 2020 at 06:57:11PM +0200, Adrian Moreno wrote:
>> Document recently added ovs-appctl command
>>
>> Fixes: 9df65060cf4c (userspace: Avoid dp_hash recirculation for balance-tcp
>> bond mode.)
>> Cc:
Document recently added ovs-appctl command
Fixes: ac1d2685ebcd ("dpif-netdev-unixctl.man: document bond-show command")
Cc: amore...@redhat.com
Signed-off-by: Adrian Moreno
---
lib/dpif-netdev-unixctl.man | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/dpif-netdev-uni
Document recently added ovs-appctl command
Fixes: 9df65060cf4c (userspace: Avoid dp_hash recirculation for balance-tcp
bond mode.)
Cc: Vishal Deep Ajmera
Signed-off-by: Adrian Moreno
---
lib/dpif-netdev-unixctl.man | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/dpif-netdev
On 7/2/20 10:37 PM, Flavio Leitner wrote:
> On Fri, Jun 26, 2020 at 03:56:31PM +0200, Adrian Moreno wrote:
>> Document recently added ovs-appctl command
>
> Could you add a Fixes tag to indicate the commit?
Sure, will do
> Thanks
> fbl
>
>>
>> Cc: Vishal D
Cc: vishal.deep.ajm...@ericsson.com
Signed-off-by: Adrian Moreno
---
ofproto/bond.c| 3 +++
tests/ofproto-dpif.at | 4
2 files changed, 7 insertions(+)
diff --git a/ofproto/bond.c b/ofproto/bond.c
index 9947e7531..2466c4d02 100644
--- a/ofproto/bond.c
+++ b/ofproto/bond.c
@@ -490,6 +490,9
When lb-output-action is toggled back to "false" buckets are not being
deleted. Delete them as they will no longer be used.
Add unit test to verify buckets are correctly deleted.
Cc: Vishal Deep Ajmera
Signed-off-by: Adrian Moreno
---
ofproto/bond.c| 3 +++
tests/ofproto-d
Document recently added ovs-appctl command
Cc: Vishal Deep Ajmera
Signed-off-by: Adrian Moreno
---
lib/dpif-netdev-unixctl.man | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/dpif-netdev-unixctl.man b/lib/dpif-netdev-unixctl.man
index 6c54f6f9c..d1cf7c669 100644
--- a/lib/dpif
Verified that v3 also solves the issue reported.
Tested-by: Adrián Moreno
On 7/29/20 12:37 PM, Eli Britstein wrote:
> Thanks!
>
> Acked-by: Eli Britstein
>
> On 7/29/2020 12:13 PM, Ilya Maximets wrote:
>> While committing set() actions, commit() could wildcard all the fields
>> that are same
Hi,
I can confirm that this patch fixes the issue described in
https://bugzilla.redhat.com/show_bug.cgi?id=1854376
Thanks
On 7/27/20 6:01 PM, Ilya Maximets wrote:
> While committing set() actions, commit() could wildcard all the fields
> that are same in match key and in the set action. This
Apart from a cut-and-paste typo, the man page claims that mpls_labels
can be provided in hexadecimal format but that's currently not the case.
Fix mpls ofp-action formatting, add size checks on ofp-action parsing
and add some unit tests.
Signed-off-by: Adrian Moreno
---
lib/ofp-actions.c
Apart from a cut-and-paste typo, the man page claims that mpls_labels
can be provided in hexadecimal format but that's currently not the case.
Fix mpls ofp-action formatting, add size checks on ofp-action parsing
and add some unit tests.
Signed-off-by: Adrian Moreno
---
lib/ofp-actions.c
Apart from a cut-and-paste typo, the man page claims that mpls_labels
can be provided in hexadecimal format but that's currently not the case.
Fix ofctl formatting as well as a few missing spaces in the manpage
Signed-off-by: Adrian Moreno
---
lib/ofp-actions.c | 10 --
tests/ovs
On 4/27/21 1:33 PM, Ilya Maximets wrote:
> On 4/27/21 1:00 PM, Adrian Moreno wrote:
>> I guess this was a cut-and-paste error from set_mpls_ttl
>>
>> Signed-off-by: Adrian Moreno
>> ---
>> lib/ofp-actions.c | 2 +-
>> 1 file changed, 1 insertion(+), 1
On 5/7/21 3:02 PM, Adrian Moreno wrote:
> Apart from a cut-and-paste typo, the man page claims that mpls_labels
> can be provided in hexadecimal format but that's currently not the case.
>
> Fix ofctl formatting as well as a few missing spaces in the manpage
>
> Signed-off
On 5/17/21 1:42 PM, Ilya Maximets wrote:
> On 5/17/21 1:28 PM, Adrian Moreno wrote:
>>
>>
>> On 5/14/21 6:50 PM, Ilya Maximets wrote:
>>> On 5/14/21 5:14 PM, Adrian Moreno wrote:
>>>>
>>>>
>>>> On 5/14/21 4:34 PM, Ilya Maximets
On 5/14/21 6:50 PM, Ilya Maximets wrote:
> On 5/14/21 5:14 PM, Adrian Moreno wrote:
>>
>>
>> On 5/14/21 4:34 PM, Ilya Maximets wrote:
>>> On 5/7/21 3:02 PM, Adrian Moreno wrote:
>>>> Apart from a cut-and-paste typo, the man page claims that mpls_labels
On 5/14/21 4:34 PM, Ilya Maximets wrote:
> On 5/7/21 3:02 PM, Adrian Moreno wrote:
>> Apart from a cut-and-paste typo, the man page claims that mpls_labels
>> can be provided in hexadecimal format but that's currently not the case.
>>
>> Fix ofctl formatting as w
On 7/6/21 2:50 PM, Flavio Leitner wrote:
> On Tue, Jul 06, 2021 at 08:25:59AM +0200, Adrian Moreno wrote:
>>
>>
>> On 7/5/21 4:15 PM, Flavio Leitner wrote:
>>>
>>> Hi,
>>>
>>> On Wed, Jun 30, 2021 at 05:43:54PM +0200, Adrian Moreno wro
On 7/7/21 8:41 PM, Ilya Maximets wrote:
> On 7/6/21 3:36 PM, Flavio Leitner wrote:
>> On Tue, Jul 06, 2021 at 03:27:41PM +0200, Adrian Moreno wrote:
>>>
>>>
>>> On 7/6/21 2:50 PM, Flavio Leitner wrote:
>>>> On Tue, Jul 06, 2021 at 08:25:59AM +020
uot; work would be to use "sed" to rewrite
the match, but that would still expose the failure to any user not using
that script.
Sending the patch to gather feedback on this topic
[1]
https://patchwork.ozlabs.org/project/openvswitch/patch/20201102232805.1960103-1-...@ovn.org/
Adrian Moreno
The match keyword "igmp" is not supported in ofp-parse, which means
that flow dumps cannot be restored. This patch prints the igmp match
in the accepted format (ip,nw_proto=2) and adds a test.
Signed-off-by: Adrian Moreno
---
lib/match.c| 2 --
tests/ovs-ofctl.at | 2 ++
2 fil
On 7/5/21 4:15 PM, Flavio Leitner wrote:
>
> Hi,
>
> On Wed, Jun 30, 2021 at 05:43:54PM +0200, Adrian Moreno wrote:
>> The match keyword "igmp" is not supported in ofp-parse, which means
>> that flow dumps cannot be restored. This patch prints the igmp m
I guess this was a cut-and-paste error from set_mpls_ttl
Signed-off-by: Adrian Moreno
---
lib/ofp-actions.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index 0342a228b..91d810860 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
* KVDecoders holds a number of decoders that KVParser can use to decode
key-value pairs. It accepts a dictionary of keys and callables to
allow users to specify what decoder (i.e: callable) to use for each
key
Signed-off-by: Adrian Moreno
---
python/automake.mk | 6 +-
python/ovs
e utitily as a way to demonstrate the use
of the ovs.flows library
Original Idea for the "logic" representation of datapath and openflow
flows comes from Flavio Leitner .
Signed-off-by: Adrian Moreno
---
python/automake.mk | 12 +-
python/ovs/ofparse/__init__.py | 1 +
-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/flows/decoders.py | 89 ++
python/ovs/flows/ofp.py | 575 +++
3 files changed, 666 insertions(+), 1 deletion(-)
create mode 100644 python/ovs/flows/ofp.py
diff --git a/python
The json encoder can be used to convert Flows to json
Signed-off-by: Adrian Moreno
---
python/ovs/flows/decoders.py | 36 ++--
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/python/ovs/flows/decoders.py b/python/ovs/flows/decoders.py
index
Based on pyparsing, create a very simple filtering syntax
It supports basic logic statements (and, &, or, ||, not, !), numerical
operations (<, >), equality (=) and masking (~=). The latter is only
supported in certain fields (IntMask, EthMask, IPMask).
Signed-off-by: Adrian Moreno
-
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/flows/odp.py | 698
2 files changed, 700 insertions(+), 1 deletion(-)
create mode 100644 python/ovs/flows/odp.py
diff --git a/python/automake.mk b/python/automake.mk
index
In order to be able to reuse the core extaction logic, split the command
in two parts. The core extraction logic is moved to python/build while
the command that writes the different files out of the extracted field
info is kept in build-aux
Signed-off-by: Adrian Moreno
---
build-aux/extract-ofp
eating a ListDecoders instance such as:
ListDecoders([
("port", decode_default),
("table", decode_int),
("ct", decode_flag),
])
Naturally, the order of the decoders must be kept.
Signed-off-by: Adrian More
part of
the decoding logic that can be automatically generated from ovs
headers to improve maintainability?
- Is there interest in adding specific utilities (such as ofparse) to the ovs
tree?
- While writing the library, I've written some unit tests. What do you
think about adding python unit-test
Based on meta-field information extracted by extract_ofp_fields,
autogenerate the right decoder to be used
Signed-off-by: Adrian Moreno
---
build-aux/automake.mk| 3 +-
build-aux/gen_ofp_field_decoders | 73
python/.gitignore| 1
It simplifies the implementation of different types of flows by creating
the concept of Section (e.g: match, action) and automatic accessors for
all the provided Sections
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/flows/flow.py | 81
Add more decoders that can be used by KVParser.
For IPv4 and IPv6 addresses, create a new class that wraps
netaddr.IPAddress.
For Ethernet addresses, create a new class that wraps netaddr.EUI.
For Integers, create a new class that performs basic bitwise mask
comparisons
Signed-off-by: Adrian
md-auto-lb is set to true AND cycle or group based assignment is enabled
> +then auto load balancing of PMDs is enabled provided there are 2 or more
> +non-isolated PMDs and at least one of these PMDs is polling more than one RX
> +queue. So, following conditions need to be met to have Auto Load balancing
> +enabled:
>
> 1. cycle based assignment of RX queues to PMD is enabled.
>
Should "group" assignment be added here as well? ^
Overall, this change makes the doc much easier to understand for someone new to
the topic (such as myself).
Apart from the two small comments:
Acked-by: Adrian Moreno
Thanks
--
Adrián Moreno
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev
-by: Adrian Moreno
---
utilities/ovn-detrace.in | 177 +--
1 file changed, 95 insertions(+), 82 deletions(-)
diff --git a/utilities/ovn-detrace.in b/utilities/ovn-detrace.in
index 1e4f76dd7..d26efbd16 100755
--- a/utilities/ovn-detrace.in
+++ b/utilities/ovn-detrace.in
That way external programs can use such handlers to create all the
supported handlers.
Signed-off-by: Adrian Moreno
---
utilities/ovn_detrace.py.in | 31 +++
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/utilities/ovn_detrace.py.in b/utilities
mport ovn_detrace", and make use of ovn-detrace's logic with, say,
individual openflow cookies instead of ofproto/trace outputs.
rfc->v1:
- Fix typos and comments from Timothy Redaelli
- Add ovn_detrace.py to .gitignore
Adrian Moreno (5):
manpages.mk: fix dependencies path
ovn
rebuild the manpage target. Instead, those
dependencies live in $ovs_src.
Modify sodepends.py to generate a makefile that contains the variable
names that point the right paths.
Signed-off-by: Adrian Moreno
---
Makefile.am| 2 +-
build-a
That way importers can check it to determine whether a particular
feature exists or not.
Signed-off-by: Adrian Moreno
---
utilities/ovn_detrace.py.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/utilities/ovn_detrace.py.in b/utilities/ovn_detrace.py.in
index d26efbd16
For external python programs to be able to load ovn-detrace as a python
module easily, it should end in .py and should have underscores.
Move ovn-detrace to ovn_detrace.py and create a symlink with the old name
for backwards compatibility.
Signed-off-by: Adrian Moreno
---
debian/ovn
On 10/18/21 14:51, Dumitru Ceara wrote:
On 10/14/21 6:41 PM, Adrian Moreno wrote:
ovn-detrace is a very useful tool for debugging OVN issues.
It's core logic (mapping openflow cookies / ports with OVN objects) can
be used for a variety of troubleshooting tools. Therefore, it would
On 10/18/21 18:48, Timothy Redaelli wrote:
On Thu, 14 Oct 2021 18:41:28 +0200
Adrian Moreno wrote:
For external python programs to be able to load ovn-detrace as a python
module easily, it should end in .py and should have underscores.
Move ovn-detrace to ovn-detrac.py and create a symlink
On 10/18/21 18:50, Timothy Redaelli wrote:
On Mon, 18 Oct 2021 18:18:07 +0200
Adrian Moreno wrote:
On 10/18/21 14:51, Dumitru Ceara wrote:
On 10/14/21 6:41 PM, Adrian Moreno wrote:
ovn-detrace is a very useful tool for debugging OVN issues.
It's core logic (mapping openflow cookies
For external python programs to be able to load ovn-detrace as a python
module easily, it should end in .py and should have underscores.
Move ovn-detrace to ovn-detrac.py and create a symlink with the old name
for backwards compatibility.
Signed-off-by: Adrian Moreno
---
debian/ovn
That way external programs can use such handlers to create all the
supported handlers.
Signed-off-by: Adrian Moreno
---
utilities/ovn_detrace.py.in | 31 +++
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/utilities/ovn_detrace.py.in b/utilities
-by: Adrian Moreno
---
utilities/ovn-detrace.in | 177 +--
1 file changed, 95 insertions(+), 82 deletions(-)
diff --git a/utilities/ovn-detrace.in b/utilities/ovn-detrace.in
index 1e4f76dd7..d26efbd16 100755
--- a/utilities/ovn-detrace.in
+++ b/utilities/ovn-detrace.in
rebuild the manpage target. Instead, those
dependencies live in $ovs_src.
Modify sodepends.py to generate a makefile that contains the variable
names that point the right paths.
Signed-off-by: Adrian Moreno
---
Makefile.am| 2 +-
build-a
ing around with
ovn-detrace
- I have not tested the debian package thoroughly
Adrian Moreno (5):
manpages.mk: fix dependencies path
ovn-detrace: use configurable printer object
ovn-detrace: rename ovn-detrace to ovn_detrace.py
ovn-detrace: expose version as global variable
ovn_detrace.py:
That way importers can check it to determine whether a particular
feature exists or not.
Signed-off-by: Adrian Moreno
---
utilities/ovn_detrace.py.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/utilities/ovn_detrace.py.in b/utilities/ovn_detrace.py.in
index d26efbd16
On 12/17/21 14:10, Eelco Chaudron wrote:
See comments inline below.
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Add more decoders that can be used by KVParser.
For IPv4 and IPv6 addresses, create a new class that wraps
netaddr.IPAddress.
For Ethernet addresses, create a new class
On 12/17/21 18:19, Eelco Chaudron wrote:
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Introduce OFPFlow class and all its decoders.
Most of the decoders are generic (from decoders.py). Some have special
syntax and need a specific implementation.
Decoders for nat are moved to the common
On 12/10/21 16:58, Eelco Chaudron wrote:
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Most of ofproto and dpif flows are based on key-value pairs. These
key-value pairs can be represented in several ways, eg: key:value,
key=value, key(value).
Add the following classes that allow parsing
On 11/22/21 14:07, Timothy Redaelli wrote:
On Mon, 22 Nov 2021 12:22:40 +0100
Adrian Moreno wrote:
Add more decoders that can be used by KVParser.
For IPv4 and IPv6 addresses, create a new class that wraps
netaddr.IPAddress.
For Ethernet addresses, create a new class that wraps netaddr.EUI
v
Reviewed and manually tested this patch. Verified excessively big flows are
skipped while the rest are sent properly. Although it's not ideal to skip a
flow, I don't see any better way to respond to this corner-case.
Acked-by: Adrian Moreno
--
Adrián Moreno
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev
concatenated lists of options
nat: we reuse the decoder used for openflow actions
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/flows/odp.py | 723
2 files changed, 725 insertions(+), 1 deletion(-)
create mode 100644 python
-off-by: Adrian Moreno
---
python/automake.mk | 4 +-
python/ovs/flows/decoders.py | 93
python/ovs/flows/ofp.py | 400 +++
python/ovs/flows/ofp_act.py | 233
4 files changed, 729 insertions(+), 1 deletion(-)
create
The json encoder can be used to convert Flows to json
Signed-off-by: Adrian Moreno
---
python/ovs/flows/decoders.py | 15 +++
1 file changed, 15 insertions(+)
diff --git a/python/ovs/flows/decoders.py b/python/ovs/flows/decoders.py
index 3def9f279..96bb56c06 100644
--- a/python/ovs
mantically equivalent to "includes",
therefore:
ip_src ~= 192.168.1.1
means that ip_src field is either a host IP address equal to 192.168.1.1
or an IPMask that includes it (e.g: 192.168.1.1/24)
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/f
also parse
the flows.
Signed-off-by: Adrian Moreno
---
tests/automake.mk | 4 +-
tests/ofp-actions.at | 46 -
tests/ovs-test-ofparse.py | 103 ++
3 files changed, 129 insertions(+), 24 deletions(-)
create mode 100755 tests/ovs
Use pytest to run unit tests
Signed-off-by: Adrian Moreno
---
.ci/linux-prepare.sh| 2 +-
.gitignore | 1 +
Documentation/intro/install/general.rst | 2 +
Vagrantfile | 2 +-
configure.ac
Based on meta-field information extracted by extract_ofp_fields,
autogenerate the right decoder to be used
Signed-off-by: Adrian Moreno
---
build-aux/automake.mk| 3 +-
build-aux/gen_ofp_field_decoders | 73
python/.gitignore| 1
It simplifies the implementation of different types of flows by creating
the concept of Section (e.g: match, action) and automatic accessors for
all the provided Sections
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/flows/flow.py | 94
hopefully
it will not cause too much trouble for a developer that has modifed the
file without changing the flow string format.
Signed-off-by: Adrian Moreno
---
.gitignore | 1 +
python/automake.mk | 13 +++-
python/build/flow-parse-deps.py | 101
test-odp is used to parse datapath flow actions and matches within the
odp tests. Wrap calls to this tool in a python script that also parses
them using the python flow parsing library.
Signed-off-by: Adrian Moreno
---
tests/automake.mk | 3 +-
tests/odp.at | 36
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/tests/test_odp.py | 527 +++
2 files changed, 529 insertions(+), 1 deletion(-)
create mode 100644 python/ovs/tests/test_odp.py
diff --git a/python/automake.mk b/python/automake.mk
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/tests/test_filter.py | 225
2 files changed, 227 insertions(+), 1 deletion(-)
create mode 100644 python/ovs/tests/test_filter.py
diff --git a/python/automake.mk b/python
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/tests/test_ofp.py | 524 +++
2 files changed, 526 insertions(+), 1 deletion(-)
create mode 100644 python/ovs/tests/test_ofp.py
diff --git a/python/automake.mk b/python/automake.mk
Signed-off-by: Adrian Moreno
---
python/automake.mk| 4 ++-
python/ovs/tests/test_list.py | 67 +++
2 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 python/ovs/tests/test_list.py
diff --git a/python/automake.mk b/python
Add more decoders that can be used by KVParser.
For IPv4 and IPv6 addresses, create a new class that wraps
netaddr.IPAddress.
For Ethernet addresses, create a new class that wraps netaddr.EUI.
For Integers, create a new class that performs basic bitwise mask
comparisons
Signed-off-by: Adrian
ffset : index + offset]" which is PEP8 compliant. So,
ignore this error.
Signed-off-by: Adrian Moreno
---
Makefile.am | 3 +-
python/automake.mk | 6 +-
python/ovs/flows/__init__.py | 0
python/ovs/flows/decoders.py | 19 +++
python/ovs/flows/kv.py
In order to be able to reuse the core extaction logic, split the command
in two parts. The core extraction logic is moved to python/build while
the command that writes the different files out of the extracted field
info is kept in build-aux
Signed-off-by: Adrian Moreno
---
build-aux/extract-ofp
lake8 requirements
- Split ofp actions in ofp_act.py
- drop ofparse utility (will send a RFC to the mail list soon)
- Moved the initialization of the decoders objects to a factory so they
are cached. This significantly decreases parsing time of large dumps.
Adrian Moreno (18):
python: add generic Key-
eating a ListDecoders instance such as:
ListDecoders([
("port", decode_default),
("table", decode_int),
("ct", decode_flag),
])
Naturally, the order of the decoders must be kept.
Signed-off-by: Adrian More
-by: Adrian Moreno
---
python/automake.mk | 4 +-
python/ovs/ovs_ofparse/format.py | 325 +++
python/ovs/ovs_ofparse/main.py | 22 ++-
3 files changed, 349 insertions(+), 2 deletions(-)
create mode 100644 python/ovs/ovs_ofparse/format.py
diff --git a/python
Add a FlowProcessor that is able to return the flows in json format and
a subcommand to both "datapath" and "openflow" to print flows in that
format
Signed-off-by: Adrian Moreno
---
python/ovs/ovs_ofparse/datapath.py | 17 +-
python/ovs/ovs_ofpa
be filtered by adding a "--filter"
option to the main command line. Filtering at this stage can be disabled
since some formats might want to perform other kind of filtering.
Signed-off-by: Adrian Moreno
---
python/automake.mk| 3 +-
python/ovs/ovs_ofparse/main.p
general options that apply to any protocol or format
[openflow | datapath] defines the flow protocol to parse
FORMAT: specifies the format to print the output in
[FORMAT OPTIONS] are optional format-specific options
A generic configuration file called ovs-ofparse.conf is supported
Signed-off-by: Adrian
ng the configuration file
Auxiliary functions
- heat_map: allow calculating the relative value of a field and
selecting its color based on a heat-map pallete
- hash-pallete: calculate the color based on a pseudo-hash of a value.
That way, we can print same values with the same color
Signed-o
e tool is based on two main dependencies:
- 'click' for command line management
- 'rich' for rich console output
Testing notes
-
(optionally create a venv)
$ cd python; pip install .
$ ovs-ofparse --help
[1] https://patchwork.ozlabs.org/project/openvswitch/list/?series=273222
Create a flow table that uses a hyperlink from resubmit() to the target
table
Signed-off-by: Adrian Moreno
---
python/ovs/ovs_ofparse/openflow.py | 70 ++
1 file changed, 70 insertions(+)
diff --git a/python/ovs/ovs_ofparse/openflow.py
b/python/ovs/ovs_ofparse
values do matter
- Same cookie if "--cookie | -c" option is provided
All flows that have the same "logical" representation are squashed
together. Optionally, if "--show-flows | -s" is given, the flows that
comprise the logical flow are also printed.
Signed-off-by: A
the tree is built in order to include all
the subtrees that has a subflow that matches the filter
Signed-off-by: Adrian Moreno
---
python/automake.mk | 4 +-
python/ovs/ovs_ofparse/datapath.py | 132 -
python/ovs/ovs_ofparse/dp_tree.py | 128
Add a HTML formatting system. The HTMLStyle includes a color and a
anchor generator so links can be added to each key and value.
Styles are extracted from the configuration file
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/ovs_ofparse/etc
Create a collapsable and selectable flow tree html table based on the
datapath tree.
Signed-off-by: Adrian Moreno
---
python/ovs/ovs_ofparse/datapath.py | 247 +
1 file changed, 247 insertions(+)
diff --git a/python/ovs/ovs_ofparse/datapath.py
b/python/ovs
Thanks for you comments Eelco.
On 10/21/21 11:52, Eelco Chaudron wrote:
On 1 Sep 2021, at 12:00, Adrian Moreno wrote:
While troubleshooting or developing new features in OVS, a considerable
amount of time is spent analyzing flows (whether that's Openflow flows
or datapath flows). Currently
On 11/5/21 17:12, Dumitru Ceara wrote:
On 10/21/21 11:10 AM, Adrian Moreno wrote:
Currently, if "make" is run after the project is built, the root
manpage (ovn-detrace.1) is rebuilt unnecessarily.
The reason is that its dependencies are wrong: files such as
lib/common.man or lib/o
On 12/17/21 14:53, Eelco Chaudron wrote:
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
In order to be able to reuse the core extaction logic, split the command
extaction -> extraction
in two parts. The core extraction logic is moved to python/build while
the command that wri
On 12/17/21 14:41, Eelco Chaudron wrote:
See some minor comment below.
//Eelco
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Some openflow or dpif flows encode their arguments in lists, eg:
"some_action(arg1,arg2,arg3)". In order to decode this in a way that can
be t
On 12/17/21 15:37, Eelco Chaudron wrote:
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Based on meta-field information extracted by extract_ofp_fields,
autogenerate the right decoder to be used
.
Signed-off-by: Adrian Moreno
---
build-aux/automake.mk| 3 +-
build-aux
On 12/23/21 14:46, Eelco Chaudron wrote:
Just some small comments below, and the request to fix up the comments.
I did not go too deep on the pyparser part but at a glance, it looks ok.
//Eelco
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Based on pyparsing, create a very simple
On 12/23/21 15:01, Eelco Chaudron wrote:
Some small remarks.
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Some ovs-ofctl commands are used to parse or dump openflow flows,
specially in ofp-actions.at
Use a wrapper around ovs-ofctl, called ovs-test-ofparse.py that, apart
from calling ovs
On 12/23/21 15:43, Eelco Chaudron wrote:
Some small remarks.
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
test-odp is used to parse datapath flow actions and matches within the
odp tests. Wrap calls to this tool in a python script that also parses
them using the python flow parsing
On 12/23/21 14:08, Eelco Chaudron wrote:
Just some small comments below, and the request to fix up the comments.
Thanks.
Trying to understand why you have a special ODPFlowFactory class to return an
ODPFLow() object from a string?
Can you not just add a static method to the ODPFlow
On 12/23/21 17:06, Eelco Chaudron wrote:
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
In order to minimize the risk of having the python flow parsing code and
the C flow formatting code divert, add a target that checks if the
formatting code has been changed since the last revision
On 12/24/21 14:01, Eelco Chaudron wrote:
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Use pytest to run unit tests
Signed-off-by: Adrian Moreno
---
.ci/linux-prepare.sh| 2 +-
.gitignore | 1 +
Documentation/intro/install
On 12/24/21 14:14, Eelco Chaudron wrote:
Other than ending comments with a dot and an extra newline, it looks fine.
Acked-by: Eelco Chaudron
On 22 Nov 2021, at 12:22, Adrian Moreno wrote:
Signed-off-by: Adrian Moreno
---
python/automake.mk | 3 +-
python/ovs/tests
1 - 100 of 866 matches
Mail list logo