It is not special from netlink view point. Just that we can omit from the string representation without losing information.
On Wed, Jul 31, 2013 at 3:08 PM, Jesse Gross <je...@nicira.com> wrote: > (0/0) is also an unmasked key. > > This is exactly my point. There should not be a sliver of a doubt in > anyone's mind as to whether 0 is a special value. It's not. > > On Wed, Jul 31, 2013 at 3:05 PM, Andy Zhou <az...@nicira.com> wrote: > > We need to print (5/0) in order to how the unmasked key. > > > > > > On Wed, Jul 31, 2013 at 2:08 PM, Jesse Gross <je...@nicira.com> wrote: > >> > >> This is debugging output, so it should print exactly what is received. > >> If there are more compact ways of representing it then that is fine as > >> long as it retains the same meaning. > >> > >> In addition, zero is no longer a special value so a value of (5/0) > >> should be treated the same as (0/0) but this isn't doing that. > >> > >> On Wed, Jul 31, 2013 at 1:45 PM, Andy Zhou <az...@nicira.com> wrote: > >> > Yes, it is possible with more hacking on the test scripts. Omitting > them > >> > would make the output easier to read in general -- having more (0/0) > >> > does > >> > not add more information. In general we are moving in a direction of > not > >> > output unnecessary information, removing output mask of > 255.255.255.255, > >> > for > >> > example. > >> > > >> > > >> > > >> > On Wed, Jul 31, 2013 at 1:27 PM, Jesse Gross <je...@nicira.com> > wrote: > >> >> > >> >> Can't you just add skb_mark to the input? > >> >> > >> >> On Wed, Jul 31, 2013 at 12:39 PM, Andy Zhou <az...@nicira.com> > wrote: > >> >> > This helps to keep the test easy: Input is the same as output. > >> >> > > >> >> > > >> >> > On Wed, Jul 31, 2013 at 11:39 AM, Jesse Gross <je...@nicira.com> > >> >> > wrote: > >> >> >> > >> >> >> On Tue, Jul 30, 2013 at 7:49 PM, Andy Zhou <az...@nicira.com> > wrote: > >> >> >> > Handling of missing attributes in netlink can be tricky and > turns > >> >> >> > out > >> >> >> > to be error prone. The value (savings in netlink bandwidth) does > >> >> >> > not > >> >> >> > seem to be significant enough to justify allowing them. This > patch > >> >> >> > series make both kernel and userspace always export priority and > >> >> >> > skb_mark attribute. There will be follow on patches in the > >> >> >> > direction of making all attributes explicit. > >> >> >> > > >> >> >> > Signed-off-by: Andy Zhou <az...@nicira.com> > >> >> >> > --- > >> >> >> > lib/odp-util.c | 62 > >> >> >> > +++++++++++++++++++++++++++++++++++++++---------- > >> >> >> > tests/ofproto-dpif.at | 18 +++++++------- > >> >> >> > 2 files changed, 59 insertions(+), 21 deletions(-) > >> >> >> > > >> >> >> > diff --git a/lib/odp-util.c b/lib/odp-util.c > >> >> >> > index 3c3063d..1f7db2f 100644 > >> >> >> > --- a/lib/odp-util.c > >> >> >> > +++ b/lib/odp-util.c > >> >> >> > @@ -926,6 +926,42 @@ odp_mask_attr_is_exact(const struct nlattr > >> >> >> > *ma) > >> >> >> > return is_exact; > >> >> >> > } > >> >> >> > > >> >> >> > +static bool > >> >> >> > +ommit_format(enum ovs_key_attr attr, const struct nlattr *a, > >> >> >> > + const struct nlattr *ma) > >> >> >> > +{ > >> >> >> > + switch (attr) { > >> >> >> > + case OVS_KEY_ATTR_PRIORITY: > >> >> >> > + case OVS_KEY_ATTR_SKB_MARK: > >> >> >> > + if (!nl_attr_get_u32(a)) { > >> >> >> > + if ((!ma) || !nl_attr_get_u32(ma)) { > >> >> >> > + return true; /* Omit output 0 (no mask) or > >> >> >> > 0/0 > >> >> >> > */ > >> >> >> > + } > >> >> >> > + } > >> >> >> > + break; > >> >> >> > + case OVS_KEY_ATTR_UNSPEC: > >> >> >> > + case OVS_KEY_ATTR_ENCAP: > >> >> >> > + case OVS_KEY_ATTR_TUNNEL: > >> >> >> > + case OVS_KEY_ATTR_IN_PORT: > >> >> >> > + case OVS_KEY_ATTR_ETHERNET: > >> >> >> > + case OVS_KEY_ATTR_VLAN: > >> >> >> > + case OVS_KEY_ATTR_ETHERTYPE: > >> >> >> > + case OVS_KEY_ATTR_IPV4: > >> >> >> > + case OVS_KEY_ATTR_IPV6: > >> >> >> > + case OVS_KEY_ATTR_TCP: > >> >> >> > + case OVS_KEY_ATTR_UDP: > >> >> >> > + case OVS_KEY_ATTR_ICMP: > >> >> >> > + case OVS_KEY_ATTR_ICMPV6: > >> >> >> > + case OVS_KEY_ATTR_ARP: > >> >> >> > + case OVS_KEY_ATTR_ND: > >> >> >> > + case OVS_KEY_ATTR_MPLS: > >> >> >> > + case __OVS_KEY_ATTR_MAX: > >> >> >> > + default: > >> >> >> > + break; > >> >> >> > + } > >> >> >> > + > >> >> >> > + return false; > >> >> >> > +} > >> >> >> > >> >> >> Does it actually make sense to omit printing of these fields > still? > >> >> >> After all, we print fully wildcarded other fields and this is > really > >> >> >> debugging output. > >> >> > > >> >> > > >> > > >> > > > > > >
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev