jamal wrote: > +static int build_spdinfo(struct sk_buff *skb, u32 pid, u32 seq, u32 flags) > +{ > + struct xfrm_spdinfo si; > + struct nlmsghdr *nlh; > + u32 *f; > + > + nlh = nlmsg_put(skb, pid, seq, XFRM_MSG_NEWSPDINFO, sizeof(u32), 0); > + if (nlh == NULL) /* shouldnt really happen ... */ > + return -EMSGSIZE; > + > + f = nlmsg_data(nlh); > + *f = flags; > + xfrm_spd_getinfo(&si); > + > + if (flags & XFRM_SPD_HMASK) > + NLA_PUT_U32(skb, XFRMA_SPDHMASK, si.spdhcnt); > + if (flags & XFRM_SPD_HMAX) > + NLA_PUT_U32(skb, XFRMA_SPDHMAX, si.spdhmcnt); > + if (flags & XFRM_SPD_ICNT) > + NLA_PUT_U32(skb, XFRMA_SPDICNT, si.incnt); > + if (flags & XFRM_SPD_OCNT) > + NLA_PUT_U32(skb, XFRMA_SPDOCNT, si.outcnt); > + if (flags & XFRM_SPD_FCNT) > + NLA_PUT_U32(skb, XFRMA_SPDFCNT, si.fwdcnt); > + if (flags & XFRM_SPD_ISCNT) > + NLA_PUT_U32(skb, XFRMA_SPDISCNT, si.inscnt); > + if (flags & XFRM_SPD_OSCNT) > + NLA_PUT_U32(skb, XFRMA_SPDOSCNT, si.inscnt); > + if (flags & XFRM_SPD_FSCNT) > + NLA_PUT_U32(skb, XFRMA_SPDFSCNT, si.inscnt);
It it really worth the extra code for dumping them conditionally? The attributes are neither large nor will they be sent very often. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html