netlink, RTM_NEWTCLASS, nested attributes
From: Denys Fedoryshchenko
Date: Tue Feb 19 2013 - 16:45:35 EST
I tried recently to write my own tool based on amazing libmnl (which
makes understanding of netlink - easy), written
by Pablo Neira Ayuso, to manage QoS in Linux and faced problem, which i
a bug in handling netlink messages in kernel.
For example if i send message, RTM_NEWTCLASS, after attribute
TCA_OPTIONS i have nested attributes,
for example in HTB: TCA_HTB_PARMS, TCA_HTB_RTAB, TCA_HTB_CTAB.
libmnl, if i use nested attribute, adding a bit to it, by OR -
NLA_F_NESTED(1 << 15).
If i remove this flag - everything works fine. And here is the case,
just update length of TCA_OPTIONS, without setting flag, and it works
because of that fine too.
So there is basically 3 solutions:
1)New function in libmnl to do nested attributes without setting by OR
2)AND-ing attribute type in kernel to ignore nested flag
3)Keeping as is, who cares?
Thank you for your attention.
Denys Fedoryshchenko, Network Engineer, Virtual ISP S.A.L.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/