All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Schaaf <netdev@bof.de>
To: lvs-devel@vger.kernel.org
Subject: coloring LVS-NAT connections internally using TOS/DSCP - reliable?
Date: Sun, 10 Nov 2013 11:56:51 +0100	[thread overview]
Message-ID: <3806745.XY2Vn3PIF7@rofl> (raw)

Dear LVS developers.

(resending to lvs-devel because of lack of reaction on lvs-users...)

I came across an idea today, which even appears to work, that could
potentially reduce the number of ipvs realserver entries in an LVS-NAT
scenario where multiple ports need to be passed through to the realservers.

Right now I have a separate (fwmark) virtualserver for port 80, and several
SSL ports that need different certificates on the realservers. The usual
mangle/PREROUTING marking selects which one to use.

Now the idea is to reduce the LVS setup itself to the port 80 server entry,
always select the same fwmark for that, but use rules in mangle/PREROUTING
like -j TOS --set-tos 0x1c/0xfc, with different TOS values.

All SSL connections then arrive at the realservers with dport 80, but there
I have nat/PREROUTING rules matching the TOS values, using -j REDIRECT
--to-port 44X to internally let the connection flow to the right SSL port.

This appears to work quite nicely in a prototype setup. The TOS value
arrives intact in the SYN packet on the realserver, all is well.

My question would be: we run this on kernel 2.6.32 right now. That's a
little bit ancient, and will eventually be upgraded. Was there anything
changed in LVS kernel code since then that would make this TOS/DSCP marking
scheme fail due to the TOS value not being forwarded to the realservers?

best regards
  Patrick

             reply	other threads:[~2013-11-10 10:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-10 10:56 Patrick Schaaf [this message]
2013-11-13  3:01 ` coloring LVS-NAT connections internally using TOS/DSCP - reliable? Simon Horman

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=3806745.XY2Vn3PIF7@rofl \
    --to=netdev@bof.de \
    --cc=lvs-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.