[ovs-dev] lib: meta-flow.h Remove restriction on modifying ICMP packets.
diff mbox

Message ID 55E63484.3000801@bsc.es
State Changes Requested
Headers show

Commit Message

Marcelo Amaral Sept. 1, 2015, 11:28 p.m. UTC
Signed-off-by: Marcelo Amaral <marcelo.amaral@bsc.es>

When OpenStack create a virtual router using OpenDaylight,
the default gateway does not respond ping, since it does not
implement the full network stack. The solution is the reply the
gateway pings from OVS.

However, currently OVS does not allow changing icmp
message type and code, because the attributes are
read only. The patch is simply changing those attributes to
read/write.
The changes were verified via make check.

Comments

Ben Pfaff Sept. 5, 2015, 12:04 a.m. UTC | #1
On Tue, Sep 01, 2015 at 08:28:04PM -0300, Marcelo Amaral wrote:
> Signed-off-by: Marcelo Amaral <marcelo.amaral@bsc.es>
> 
> When OpenStack create a virtual router using OpenDaylight,
> the default gateway does not respond ping, since it does not
> implement the full network stack. The solution is the reply the
> gateway pings from OVS.
> 
> However, currently OVS does not allow changing icmp
> message type and code, because the attributes are
> read only. The patch is simply changing those attributes to
> read/write.
> The changes were verified via make check.

I'm pretty sure that just changing read-only to read/write is
insufficient.  I think that you also need to add code to the datapaths
to actually modify the ICMP type and code in packets.  I don't see any
code to do that now.

Patch
diff mbox

diff --git a/lib/meta-flow.h b/lib/meta-flow.h
index cfc6263..51f6909 100644
--- a/lib/meta-flow.h
+++ b/lib/meta-flow.h
@@ -1466,7 +1466,7 @@  enum OVS_PACKED_ENUM mf_field_id {
       * Maskable: no.
       * Formatting: decimal.
       * Prerequisites: ICMPv4.
-     * Access: read-only.
+     * Access: read/write.
       * NXM: NXM_OF_ICMP_TYPE(13) since v1.1.
       * OXM: OXM_OF_ICMPV4_TYPE(19) since OF1.2 and v1.7.
       * OF1.0: exact match.
@@ -1482,7 +1482,7 @@  enum OVS_PACKED_ENUM mf_field_id {
       * Maskable: no.
       * Formatting: decimal.
       * Prerequisites: ICMPv4.
-     * Access: read-only.
+     * Access: read/write.
       * NXM: NXM_OF_ICMP_CODE(14) since v1.1.
       * OXM: OXM_OF_ICMPV4_CODE(20) since OF1.2 and v1.7.
       * OF1.0: exact match.