[ovs-dev] [PATCH v3 ovn 1/2] Add RDNSS support to OVN

Numan Siddique numans at ovn.org
Fri Oct 25 18:21:42 UTC 2019


On Fri, Oct 25, 2019 at 11:15 PM Ben Pfaff <blp at ovn.org> wrote:

> On Fri, Oct 25, 2019 at 03:45:49PM +0200, Lorenzo Bianconi wrote:
> > +/* RDNSS option RFC 6106 */
> > +#define ND_RDNSS_OPT_LEN    8
> > +#define ND_OPT_RDNSS        25
> > +struct nd_rdnss_opt {
> > +    uint8_t type;         /* ND_OPT_RDNSS. */
> > +    uint8_t len;          /* >= 3. */
> > +    ovs_be16 reserved;    /* Always 0. */
> > +    ovs_16aligned_be32 lifetime;
> > +    const ovs_be128 dns[0];
> > +};
> > +BUILD_ASSERT_DECL(ND_RDNSS_OPT_LEN == sizeof(struct nd_rdnss_opt));
>
> This structure is a little odd.  The use of ovs_16aligned_be32 implies
> that it can be 16-bit aligned, but ovs_be128 implies that it must be
> 64-bit aligned.
>

Would it work if we remove ovs_be128 from the struct and then when adding
this option
to the IPv6 RA packet, copy the IPv6 address directly to dp_packet buffer ?

How ever if you think we need to have ovs_16aligned_be128 type, does it
makes sense to add this
structure and corresponding function - packet_put_ra_rdnss_opt to
lib/packets.c of ovs repo ?

Right now only OVN needs this function.

Thanks
Numan


> We might need a new ovs_16aligned_be128 type.  It seems to be missing
> from our menagerie so far.
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list