On 01/12/15 at 06:28pm, Tom Herbert wrote: > On Mon, Jan 12, 2015 at 5:03 PM, Thomas Graf <tg...@suug.ch> wrote: > >> > >> Creating a level of indirection for extensions seems overly > >> complicated to me. Why not just define IFLA_VXLAN_GBP as just another > >> enum above? > > > > I think it's cleaner to group them in a nested attribute. > > It clearly separates the optional extensions from the base > > attributes. RCO, GPE, GBP can all live in there. > > This is inconsistent with similar things in GRE and GUE. For instance, > GRE keyid is set as its own attribute. It just seems like this adding > more code to the driver than is necessary for the functionality > needed.
The major difference here is that we have to consider backwards compatibility specifically for VXLAN. Your initial feedback on GPE actually led me to how I implemented GBP. I think the axioms we want to establish are as follows: 1. Extensions need to be explicitly enabled by the user. A previously dropped frame should only be processed if the user explitly asks for it. 2. As a consequence: only share a VLXAN UDP port if the enabled extensions match (vxlan_sock_add), e.g. user A might want RCO but user B might be unaware. They cannot share the same UDP port. The 2nd lead me to introduce the 'exts' member to vxlan_sock so we can compare it in vxlan_find_sock() and only share a UDP port if the enabled extensions match. Your patch currently implements (1) but not (2). _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev