James Carlson ??: > Erik Nordmark writes: >> If you understand udp.c then you should be able to convince yourself >> that your use of udp_v6lastdst doesn't interfere with its use in TX. >> If you don't understand udp.c sufficiently well to do that, then it >> might be that you shouldn't touch udp.c in the first place. > > I agree with Erik on this point, but I don't think this is actually an > architectural issue, but rather a matter of design. I'd encourage the > folks involved to handle it off of the ARC mailing list. > > The other issue -- lack of IP Instances information -- is > architectural, as it involves the support of one project by another. > As long as we're suffering a pair of linked patches to get to the new > API here, it does seem reasonable to say that we could include the > required arguments to make stack instances work in the future. > > As long as we're paying the patching complexity price now, is there a > specific reason to _avoid_ doing that?
To support the IP instance information, and to support future changes, we could change the API to use a TLV (type, length, value). We can put all paramters in a structure like: typedef cl_hook_param { int cl_type; size_t cl_len; uint8_t cl_value[]; } cl_hook_param_t; Thus, all future changes can be handled. This will of course change the signature of the hook; but since we're already here, we think it's ok to make the change. -- Huafeng