netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] netfilter: add connlabel conntrack extension
@ 2012-11-15 15:55 Florian Westphal
  2012-11-15 15:55 ` [PATCH 1/3] " Florian Westphal
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: Florian Westphal @ 2012-11-15 15:55 UTC (permalink / raw)
  To: netfilter-devel

The following three patches add the connlabel extension, plus
ctnetlink support.

Connlabels are similar to connmarks, except labels are bit-based; i.e.
all labels may be attached to a flow at the same time.

Up to 128 labels are supported at this time.

Mapping of bit-identifier to label name is done in userspace.

The extension is enabled at run-time once "-m connlabel" netfilter rules
are added.

The '128-labels' limit could be increased, but we need to check that
extension array won't wrap, when all conntrack extensions are being
used (offsets are stored in 'u8' array).

Changes since RFCv2:
- make it a variable-size extension and remove dynamic
  reallocation of the label array
- add ctnetlink support for receiving/setting labels
- limit to 128 instead of 1k labels due to limited extension
  space (128 is more than enough for now, so this is no problem).

summary of changes:

 include/net/netfilter/nf_conntrack_extend.h        |    4 
 include/net/netfilter/nf_conntrack_labels.h        |   57 +++++++++++
 include/net/netns/conntrack.h                      |    4 
 include/uapi/linux/netfilter/nf_conntrack_common.h |    1 
 include/uapi/linux/netfilter/nfnetlink_conntrack.h |    1 
 include/uapi/linux/netfilter/xt_connlabel.h        |   13 ++
 net/netfilter/Kconfig                              |   18 +++
 net/netfilter/Makefile                             |    2 
 net/netfilter/nf_conntrack_core.c                  |   12 ++
 net/netfilter/nf_conntrack_labels.c                |  107 +++++++++++++++++++++
 net/netfilter/nf_conntrack_netlink.c               |   67 +++++++++++++
 net/netfilter/xt_connlabel.c                       |   96 ++++++++++++++++++
12 files changed, 382 insertions(+)

Best regards,
Florian

^ permalink raw reply	[flat|nested] 23+ messages in thread
* [PATCH next V2] netfilter connlabel extension
@ 2013-01-11 16:30 Florian Westphal
  2013-01-11 16:30 ` [PATCH 1/3] netfilter: add connlabel conntrack extension Florian Westphal
  0 siblings, 1 reply; 23+ messages in thread
From: Florian Westphal @ 2013-01-11 16:30 UTC (permalink / raw)
  To: netfilter-devel

The following three patches add the connlabel extension, plus
ctnetlink support to set/clear labels from userspace.

Connlabels are similar to connmarks, except labels are bit-based; i.e.
all labels may be attached to a flow at the same time.

Up to 128 labels are supported at this time.

This limit could be increased later, if the need arises.

To do this safely, one needs to check that the
conntrack extension array won't wrap when all conntrack extensions are in
use at the same time (offsets are stored in 'u8' array).

Mapping of bit-identifier to label name is done in userspace.

The extension is enabled at run-time once "-m connlabel" netfilter rules
are added. Existing conntracks will not be able to make use of the labels
added later.

Change since V1:
- add ctnetlink bitmask attribute (CTA_LABELS_MASK)
  to allow userspace to only manipulate a subset of the bitmask.
- otherwise, cosmetic changes only.

Changes since RFCv2:
- make it a variable-size extension and remove dynamic
  reallocation of the label array
- add ctnetlink support for receiving/setting labels
- limit to 128 instead of 1k labels due to limited extension
  space (128 is more than enough for now, so this is no problem).

The following changes since commit 61c5e88aecd6fbf2480f39394bb495964e6d9984:

  skbuff: make __kmalloc_reserve static (2012-12-28 20:32:36 -0800)

are available in the git repository at:
  git://git.breakpoint.cc/fw/nf-next.git nfct_ext_clabel_19

Florian Westphal (3):
      netfilter: add connlabel conntrack extension
      netfilter: ctnetlink: deliver labels to userspace
      netfilter: ctnetlink: allow userspace to modify labels

 include/net/netfilter/nf_conntrack_extend.h        |    4 +
 include/net/netfilter/nf_conntrack_labels.h        |   58 ++++++++++
 include/net/netns/conntrack.h                      |    4 +
 include/uapi/linux/netfilter/nf_conntrack_common.h |    1 +
 include/uapi/linux/netfilter/nfnetlink_conntrack.h |    2 +
 include/uapi/linux/netfilter/xt_connlabel.h        |   12 ++
 net/netfilter/Kconfig                              |   18 +++
 net/netfilter/Makefile                             |    2 +
 net/netfilter/nf_conntrack_core.c                  |   12 ++
 net/netfilter/nf_conntrack_labels.c                |  115 ++++++++++++++++++++
 net/netfilter/nf_conntrack_netlink.c               |   88 +++++++++++++++
 net/netfilter/xt_connlabel.c                       |   99 +++++++++++++++++
 12 files changed, 415 insertions(+), 0 deletions(-)
 create mode 100644 include/net/netfilter/nf_conntrack_labels.h
 create mode 100644 include/uapi/linux/netfilter/xt_connlabel.h
 create mode 100644 net/netfilter/nf_conntrack_labels.c
 create mode 100644 net/netfilter/xt_connlabel.c

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2013-01-17 23:37 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-15 15:55 [PATCH 0/3] netfilter: add connlabel conntrack extension Florian Westphal
2012-11-15 15:55 ` [PATCH 1/3] " Florian Westphal
2012-11-15 15:55 ` [PATCH 2/3] netfilter: ctnetlink: deliver labels to userspace via CTA_LABELS attribute Florian Westphal
2012-11-15 15:55 ` [PATCH 3/3] netfilter: ctnetlink: allow userspace to set labels Florian Westphal
2012-11-27 11:18   ` Pablo Neira Ayuso
2012-11-27 11:50     ` Florian Westphal
2012-11-27 12:31       ` Pablo Neira Ayuso
2012-11-27 13:09         ` Florian Westphal
2012-11-27 14:13           ` Pablo Neira Ayuso
2012-11-27 14:24             ` Florian Westphal
2012-11-30 13:58               ` Pablo Neira Ayuso
2012-11-30 14:02                 ` Florian Westphal
2012-11-30 18:34                   ` Pablo Neira Ayuso
2012-11-30 21:36                     ` Florian Westphal
2012-12-03 11:04                       ` Pablo Neira Ayuso
2012-12-03 11:13                         ` Florian Westphal
2012-12-03 12:58                           ` Pablo Neira Ayuso
2012-11-27 12:39   ` Pablo Neira Ayuso
2012-11-16 10:02 ` [PATCH 0/3] netfilter: add connlabel conntrack extension Pablo Neira Ayuso
2012-11-16 11:31   ` Florian Westphal
2012-11-16 11:52     ` Pablo Neira Ayuso
  -- strict thread matches above, loose matches on Subject: below --
2013-01-11 16:30 [PATCH next V2] netfilter connlabel extension Florian Westphal
2013-01-11 16:30 ` [PATCH 1/3] netfilter: add connlabel conntrack extension Florian Westphal
2013-01-17 23:37   ` Pablo Neira Ayuso

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).