From: Antonio Quartulli <antonio@meshcoding.com>
To: b.a.t.m.a.n@lists.open-mesh.org
Cc: Antonio Quartulli <antonio@meshcoding.com>
Subject: [B.A.T.M.A.N.] [PATCH 0/5] Introducing the Extended-Isolation
Date: Tue, 12 Nov 2013 10:18:17 +0100 [thread overview]
Message-ID: <1384247902-789-1-git-send-email-antonio@meshcoding.com> (raw)
Hello list,
quite some time ago I sent a first version of this patchset together
with other changes. At that time we decided to split the features up and to
postpone the Extended Isolation for later sending.
Now here it is!
This feature is an extension of the already existing "AP isolation" which aims
to generalise the latter.
The idea is based on considering a particular subset of non-mesh clients as
"ISOLATED" and then apply the same policy that batman-adv already applies for
WiFi clients.
To decide which client belongs to this subset batman-adv uses the skb->mark
field which value can be altered by several components in the kernel (e.g.
netfilter). When an skb hits the soft-interface (e.g. bat0) the skb->mark
is compared to a preconfigured value and the source client is classified as
"ISOLATED" only in case of match.
The pre-configured mark (and its mask) is a user choice and can be set through
a new sysfs interface that is added within this patchset.
"ISOLATED" clients won't be able to talk to each other (batman-adv will drop
any packet originated by an isolated client and directed to another isolated
client) like it now happens for WiFi ones (when AP isolation is on).
Moreover broadcast packets sent by ISOLATED clients are marked on the
receiving node with the same mark that the user configured through the sysfs.
In this way netfilter (or any other program) can make decisions about
these packets on the receiver side (e.g. a rule could be "broadcast packets
created by ISOLATED clients cannot be forwarded over any port of the bridge X")
A draft of the documentation (with an example of how to use tc to mark/filter
packets) is available here[1] and will be improved as soon as the feature is
released.
Cheers,
[1] http://www.open-mesh.org/projects/batman-adv/wiki/Extended-isolation
p.s. I don't know if this can make a difference, but this patchset is based on
master + all my other patches pending on the mailing list.
Antonio Quartulli (5):
batman-adv: add isolation_mark sysfs attribute
batman-adv: mark a local client as isolated when needed
batman-adv: print the new BATADV_TT_CLIENT_ISOLA flag
batman-adv: extend the ap_isolation mechanism
batman-adv: set the isolation mark in the skb if needed
main.h | 2 ++
multicast.c | 3 ++-
packet.h | 1 +
soft-interface.c | 23 ++++++++++++++----
sysfs.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++
translation-table.c | 57 ++++++++++++++++++++++++++++++++++++++++----
translation-table.h | 4 +++-
types.h | 2 ++
8 files changed, 148 insertions(+), 12 deletions(-)
--
1.8.4.3
next reply other threads:[~2013-11-12 9:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-12 9:18 Antonio Quartulli [this message]
2013-11-12 9:18 ` [B.A.T.M.A.N.] [PATCH 1/5] batman-adv: add isolation_mark sysfs attribute Antonio Quartulli
2013-11-12 9:18 ` [B.A.T.M.A.N.] [PATCH 2/5] batman-adv: mark a local client as isolated when needed Antonio Quartulli
2013-11-12 9:18 ` [B.A.T.M.A.N.] [PATCH 3/5] batman-adv: print the new BATADV_TT_CLIENT_ISOLA flag Antonio Quartulli
2013-11-12 9:18 ` [B.A.T.M.A.N.] [PATCH 4/5] batman-adv: extend the ap_isolation mechanism Antonio Quartulli
2013-11-12 9:18 ` [B.A.T.M.A.N.] [PATCH 5/5] batman-adv: set the isolation mark in the skb if needed Antonio Quartulli
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=1384247902-789-1-git-send-email-antonio@meshcoding.com \
--to=antonio@meshcoding.com \
--cc=b.a.t.m.a.n@lists.open-mesh.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