On Mon, Oct 24, 2022 at 6:47 AM Felix Hüttner via dev
<ovs-dev@openvswitch.org> wrote:
>
> We need to be able to handle rarp fields in order to ensure we can
> handle rarp messages we send ourselves.
> This will be used by the next patch in the series.
>
> Signed-off-by: Felix Huettner <felix.huettner@mail.schwarz>

Acked-by: Numan Siddique <num...@ovn.org>

Numan

> ---
>  lib/logical-fields.c | 8 ++++++++
>  lib/ovn-util.c       | 2 +-
>  ovn-sb.xml           | 2 ++
>  3 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/lib/logical-fields.c b/lib/logical-fields.c
> index ed3ec62e1..fc131791e 100644
> --- a/lib/logical-fields.c
> +++ b/lib/logical-fields.c
> @@ -261,6 +261,14 @@ ovn_init_symtab(struct shash *symtab)
>      expr_symtab_add_field(symtab, "arp.tpa", MFF_ARP_TPA, "arp", false);
>      expr_symtab_add_field(symtab, "arp.tha", MFF_ARP_THA, "arp", false);
>
> +    /* RARPs use the same layout as arp packets -> use the same field_id */
> +    expr_symtab_add_predicate(symtab, "rarp", "eth.type == 0x8035");
> +    expr_symtab_add_field(symtab, "rarp.op", MFF_ARP_OP, "rarp", false);
> +    expr_symtab_add_field(symtab, "rarp.spa", MFF_ARP_SPA, "rarp", false);
> +    expr_symtab_add_field(symtab, "rarp.sha", MFF_ARP_SHA, "rarp", false);
> +    expr_symtab_add_field(symtab, "rarp.tpa", MFF_ARP_TPA, "rarp", false);
> +    expr_symtab_add_field(symtab, "rarp.tha", MFF_ARP_THA, "rarp", false);
> +
>      expr_symtab_add_predicate(symtab, "nd",
>                "icmp6.type == {135, 136} && icmp6.code == 0 && ip.ttl == 
> 255");
>      expr_symtab_add_predicate(symtab, "nd_ns",
> diff --git a/lib/ovn-util.c b/lib/ovn-util.c
> index 5dca72714..597625a29 100644
> --- a/lib/ovn-util.c
> +++ b/lib/ovn-util.c
> @@ -817,7 +817,7 @@ ip_address_and_port_from_lb_key(const char *key, char 
> **ip_address,
>   *
>   * This value is also used to handle some backward compatibility during
>   * upgrading. It should never decrease or rewind. */
> -#define OVN_INTERNAL_MINOR_VER 4
> +#define OVN_INTERNAL_MINOR_VER 5
>
>  /* Returns the OVN version. The caller must free the returned value. */
>  char *
> diff --git a/ovn-sb.xml b/ovn-sb.xml
> index 315d60853..42e6fa3ee 100644
> --- a/ovn-sb.xml
> +++ b/ovn-sb.xml
> @@ -1052,6 +1052,7 @@
>          <li><code>ip4.src</code> <code>ip4.dst</code></li>
>          <li><code>ip6.src</code> <code>ip6.dst</code> 
> <code>ip6.label</code></li>
>          <li><code>arp.op</code> <code>arp.spa</code> <code>arp.tpa</code> 
> <code>arp.sha</code> <code>arp.tha</code></li>
> +        <li><code>rarp.op</code> <code>rarp.spa</code> <code>rarp.tpa</code> 
> <code>rarp.sha</code> <code>rarp.tha</code></li>
>          <li><code>tcp.src</code> <code>tcp.dst</code> 
> <code>tcp.flags</code></li>
>          <li><code>udp.src</code> <code>udp.dst</code></li>
>          <li><code>sctp.src</code> <code>sctp.dst</code></li>
> @@ -1115,6 +1116,7 @@
>          <li><code>ip.later_frag</code> expands to 
> <code>ip.frag[1]</code></li>
>          <li><code>ip.first_frag</code> expands to <code>ip.is_frag 
> &amp;&amp; !ip.later_frag</code></li>
>          <li><code>arp</code> expands to <code>eth.type == 0x806</code></li>
> +        <li><code>rarp</code> expands to <code>eth.type == 0x8035</code></li>
>          <li><code>nd</code> expands to <code>icmp6.type == {135, 136} 
> &amp;&amp; icmp6.code == 0 &amp;&amp; ip.ttl == 255</code></li>
>          <li><code>nd_ns</code> expands to <code>icmp6.type == 135 &amp;&amp; 
> icmp6.code == 0 &amp;&amp; ip.ttl == 255</code></li>
>          <li><code>nd_na</code> expands to <code>icmp6.type == 136 &amp;&amp; 
> icmp6.code == 0 &amp;&amp; ip.ttl == 255</code></li>
> --
> 2.38.0
> Diese E Mail enthält möglicherweise vertrauliche Inhalte und ist nur für die 
> Verwertung durch den vorgesehenen Empfänger bestimmt. Sollten Sie nicht der 
> vorgesehene Empfänger sein, setzen Sie den Absender bitte unverzüglich in 
> Kenntnis und löschen diese E Mail. Hinweise zum Datenschutz finden Sie 
> hier<https://www.datenschutz.schwarz>.
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to