From: Patrick McHardy <kaber@trash.net>
To: James Chapman <jchapman@katalix.com>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH v3 09/12] l2tp: Add netlink control API for L2TP
Date: Wed, 31 Mar 2010 10:59:47 +0200 [thread overview]
Message-ID: <4BB30F03.7090806@trash.net> (raw)
In-Reply-To: <20100330161814.9628.43239.stgit@bert.katalix.com>
James Chapman wrote:
> +static struct nla_policy l2tp_nl_policy[L2TP_ATTR_MAX + 1] = {
> + [L2TP_ATTR_NONE] = { .type = NLA_UNSPEC, },
> + [L2TP_ATTR_PW_TYPE] = { .type = NLA_U16, },
> + [L2TP_ATTR_ENCAP_TYPE] = { .type = NLA_U16, },
> + [L2TP_ATTR_OFFSET] = { .type = NLA_U16, },
> + [L2TP_ATTR_DATA_SEQ] = { .type = NLA_U8, },
> + [L2TP_ATTR_L2SPEC_TYPE] = { .type = NLA_U8, },
> + [L2TP_ATTR_L2SPEC_LEN] = { .type = NLA_U8, },
> + [L2TP_ATTR_PROTO_VERSION] = { .type = NLA_U8, },
> + [L2TP_ATTR_CONN_ID] = { .type = NLA_U32, },
> + [L2TP_ATTR_PEER_CONN_ID] = { .type = NLA_U32, },
> + [L2TP_ATTR_SESSION_ID] = { .type = NLA_U32, },
> + [L2TP_ATTR_PEER_SESSION_ID] = { .type = NLA_U32, },
> + [L2TP_ATTR_UDP_CSUM] = { .type = NLA_FLAG, },
> + [L2TP_ATTR_VLAN_ID] = { .type = NLA_U16, },
> + [L2TP_ATTR_DEBUG] = { .type = NLA_U32, },
> + [L2TP_ATTR_RECV_SEQ] = { .type = NLA_FLAG, },
> + [L2TP_ATTR_SEND_SEQ] = { .type = NLA_FLAG, },
> + [L2TP_ATTR_LNS_MODE] = { .type = NLA_FLAG, },
> + [L2TP_ATTR_USING_IPSEC] = { .type = NLA_FLAG, },
Please don't use NLA_FLAG, it diverges from the usual netlink
attribute semantics since you either can't unset the flag in
case you check for the presence of the attribute (the attribute
can only encode "flag set") or you'll have to send the current
value in every message even if you don't intend to change it.
In this case it can't be unset.
A better way is to use something like this:
struct l2tp_flags {
__u32 value;
__u32 mask;
};
and set mask to the bits you intend to change.
next prev parent reply other threads:[~2010-03-31 8:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-30 16:17 [PATCH v3 00/12] l2tp: Introduce L2TPv3 support James Chapman
2010-03-30 16:17 ` [PATCH v3 01/12] l2tp: Relocate pppol2tp driver to new net/l2tp directory James Chapman
2010-03-30 16:17 ` [PATCH v3 02/12] l2tp: Split pppol2tp patch into separate l2tp and ppp parts James Chapman
2010-03-30 16:17 ` [PATCH v3 03/12] ppp: Add ppp_dev_name() exported function James Chapman
2010-03-30 16:17 ` [PATCH v3 04/12] l2tp: Add ppp device name to L2TP ppp session data James Chapman
2010-03-30 16:29 ` Stephen Hemminger
2010-03-31 7:43 ` James Chapman
2010-03-31 8:46 ` David Miller
2010-03-31 23:08 ` Stephen Hemminger
2010-04-01 7:19 ` James Chapman
2010-04-01 7:30 ` Eric Dumazet
2010-04-01 8:55 ` James Chapman
2010-04-01 7:34 ` David Miller
2010-04-01 8:59 ` James Chapman
2010-04-01 9:04 ` David Miller
2010-03-30 16:17 ` [PATCH v3 05/12] l2tp: Add L2TPv3 protocol support James Chapman
2010-03-30 16:17 ` [PATCH v3 06/12] l2tp: Update PPP-over-L2TP driver to work over L2TPv3 James Chapman
2010-03-30 16:18 ` [PATCH v3 07/12] l2tp: Add L2TPv3 IP encapsulation (no UDP) support James Chapman
2010-03-30 16:18 ` [PATCH v3 08/12] netlink: Export genl_lock() API for use by modules James Chapman
2010-03-30 16:18 ` [PATCH v3 09/12] l2tp: Add netlink control API for L2TP James Chapman
2010-03-31 8:59 ` Patrick McHardy [this message]
2010-03-30 16:18 ` [PATCH v3 10/12] l2tp: Add L2TP ethernet pseudowire support James Chapman
2010-03-30 16:30 ` Stephen Hemminger
2010-03-30 16:30 ` Stephen Hemminger
2010-03-30 16:32 ` Stephen Hemminger
2010-03-31 9:35 ` James Chapman
2010-03-31 17:38 ` Paul E. McKenney
2010-04-02 15:24 ` Paul E. McKenney
2010-04-02 15:58 ` Eric Dumazet
2010-04-02 16:21 ` Paul E. McKenney
2010-03-30 16:18 ` [PATCH v3 11/12] l2tp: Add support for static unmanaged L2TPv3 tunnels James Chapman
2010-03-30 16:18 ` [PATCH v3 12/12] l2tp: Update documentation James Chapman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BB30F03.7090806@trash.net \
--to=kaber@trash.net \
--cc=jchapman@katalix.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).