netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gabriel Paues <gabriel@sics.se>
To: netdev@oss.sgi.com
Subject: dst_entry and friends
Date: Mon, 29 Apr 2002 12:14:48 +0200	[thread overview]
Message-ID: <3CCD1D18.F33EAEE8@sics.se> (raw)
In-Reply-To: 15561.20004.964497.762468@robur.slu.se

Hi!

I'm working on my Masters Thesis which aims at making a label switched
environment. I know there are protocols for doing that but I am supposed to do
it at IPv6-level (by altering the IPv6-stack) thus making Linux route on
different criteria than the usual routing table.

This is what i want to do:
If the flowlabel in the IPv6 header is set to some value except zero then skip
the whole routing behaviour and check for the flowlabel in an internal table,
and get the out-device and new flowlabel from that table and send the packet.
otherwise:
Just do as usual

My idea is to use netfilter and in the PRE_ROUTING-hook check the flowlabel for
values other than zero, and set the dst_entry in the skbuff to something with
its input-function to ip6_output. I dont know if I should allocate this
fabricated dst_entry myself or if I should scan the list of already existing
ones. By setting the input-function-pointer to ip6_output i will skip the whole
routing behaviour in a snap. The same goes for the hook LOCAL_OUT where i want
to skip ip6_maybe_reroute function and go directly to ip6_output.

This might sound like a quite destructive concept, but the whole thing is that
my teacher thought those "small hacks"  could be done in notime, whle I have
discovered that thats not the case.

Do you know of any easier way of doing this? And if not, how do I get hold of a
dst_entry when I know what netdevice that should be the output? I have had a
look in rt6_device_match function in route.c and think that it does more or
less what I want to do.

I would be grateful if some Linux Ipv6-implementation guru would read this and
try to understand what I'm trying to do... :-)

Sincerily

Gabriel

  parent reply	other threads:[~2002-04-29 10:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-26 12:55 route cache GC monitoring Robert Olsson
2002-04-26 15:25 ` kuznet
2002-04-29 10:14 ` Gabriel Paues [this message]
2002-04-29 14:55   ` dst_entry and friends Andi Kleen
2002-05-09  9:35 ` route cache GC monitoring David S. Miller

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=3CCD1D18.F33EAEE8@sics.se \
    --to=gabriel@sics.se \
    --cc=netdev@oss.sgi.com \
    /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).