History log of /openbsd-src/sys/netmpls/mpls_output.c (Results 1 – 25 of 29)
Revision Date Author Comments
# 55055d61 13-May-2023 bluhm <bluhm@openbsd.org>

Instead of implementing IPv4 header checksum creation everywhere,
introduce in_hdr_cksum_out(). It is used like in_proto_cksum_out().
OK claudio@


# 1b0afb17 03-Sep-2019 jsg <jsg@openbsd.org>

correct INET6 path in mpls_getttl() and avoid uninitialised variable
ok dlg@


# f2658839 27-Aug-2019 dlg <dlg@openbsd.org>

use m_getptr to get to the right mbuf and offset for the ttl in mpls_gettl.

problem found by and this fix was tested by groos at xiplink dot com
on bugs@


# 5b5e4895 02-Dec-2015 claudio <claudio@openbsd.org>

Rework the MPLS handling. Remove the lookup loops since nothing is using
them and they make everything so much harder with no gain. Remove the
ifp argument from mpls_input since it is not needed. On

Rework the MPLS handling. Remove the lookup loops since nothing is using
them and they make everything so much harder with no gain. Remove the
ifp argument from mpls_input since it is not needed. On the input side
the lookup side is modified a bit when it comes to BOS handling.
Tested in a L3VPN setup with ldpd and bgpd. Commiting now so we can move
on with cleaning up rt_ifp usage. If this breaks L2VPN I will fix it once
reported. OK mpi@

show more ...


# aa085df9 23-Sep-2015 mpi <mpi@openbsd.org>

Always increment rt_use inside rtalloc(9) instead of doing it in some
specific places.

ok claudio@, benno@


# d9dc9856 13-Sep-2015 mpi <mpi@openbsd.org>

There's no point in abstracting ifp->if_output() as long as pf_test()
needs to see lo0 in the output path.

ok claudio@


# 72064afc 12-Sep-2015 mpi <mpi@openbsd.org>

Stop overwriting the rt_ifp pointer of RTF_LOCAL routes with lo0ifp.

Use instead the RTF_LOCAL flag to loop local traffic back to the
corresponding protocol queue.

With this change rt_ifp is now al

Stop overwriting the rt_ifp pointer of RTF_LOCAL routes with lo0ifp.

Use instead the RTF_LOCAL flag to loop local traffic back to the
corresponding protocol queue.

With this change rt_ifp is now always the same as rt_ifa->ifa_ifp.

ok claudio@

show more ...


# 06fd5c86 12-Sep-2015 claudio <claudio@openbsd.org>

Use rtfree() instead of playing with the refcount directly. Some care is
needed since rt0 as passed from the upper layer is freed by that layer.
Also if_output does not free the rt so handle that as

Use rtfree() instead of playing with the refcount directly. Some care is
needed since rt0 as passed from the upper layer is freed by that layer.
Also if_output does not free the rt so handle that as well.
With and OK mpi@

show more ...


# 09284026 15-Jul-2015 deraadt <deraadt@openbsd.org>

m_freem() can handle NULL, do not check for this condition beforehands.
ok stsp mpi


# 930efa9e 23-Dec-2014 tedu <tedu@openbsd.org>

unifdef some more INET. v4 4life.


# 0deb6685 05-Dec-2014 mpi <mpi@openbsd.org>

Explicitly include <net/if_var.h> instead of pulling it in <net/if.h>.

ok mikeb@, krw@, bluhm@, tedu@


# 5148b194 01-Nov-2014 mpi <mpi@openbsd.org>

Rename rtalloc1() into rtalloc(9) and convert its flags to only enable
functionnality instead of a mix of enable/disable.

ok bluhm@, jca@


# 2ec318bf 22-Jul-2014 mpi <mpi@openbsd.org>

Fewer <netinet/in_systm.h> !


# 30aab16d 24-Apr-2013 mpi <mpi@openbsd.org>

Move various extern declarations into their corresponding header file.


# e0426537 04-Apr-2011 henning <henning@openbsd.org>

de-guttenberg our stack a bit
we don't need 7 f***ing copies of the same code to do the protocol checksums
(or not, depending on hw capabilities). claudio ok


# 9d5c10d8 04-Apr-2011 henning <henning@openbsd.org>

no need to check the csum flags before calling mpls_do_cksum which
immediately checks exactly those flags, claudio ok


# 41a5659a 21-Jan-2011 mikeb <mikeb@openbsd.org>

make mpls compile w/o errors when inet6 is not defined

diff from form@ who's too busy drinking vodka with pelmeni to commit this;
ok claudio


# eb0ac13d 08-Sep-2010 claudio <claudio@openbsd.org>

Map the TTL when building the initial MPLS stack from the encapsulated
packet. For IP and IPv6 the corresponding mapttl sysctl needs to be set.
This is needed to make traceroute work over MPLS.
OK mi

Map the TTL when building the initial MPLS stack from the encapsulated
packet. For IP and IPv6 the corresponding mapttl sysctl needs to be set.
This is needed to make traceroute work over MPLS.
OK michele@

show more ...


# 25b79b79 07-Jul-2010 claudio <claudio@openbsd.org>

Remove duplicate mtod(). No need to do it twice since the mbuf is not
modified in between.


# 9af8ccbc 02-Jun-2010 claudio <claudio@openbsd.org>

Kill the mpls enable sysctl knob. Since MPLS needs to be enabled explicitly
on each interface there is no need for yet another knob.
OK michele@


# 769a1fea 28-May-2010 claudio <claudio@openbsd.org>

Rework the way we handle MPLS in the kernel. Instead of fumbling MPLS into
ether_output() and later on other L2 output functions use a trick and over-
load the ifp->if_output() function pointer on MP

Rework the way we handle MPLS in the kernel. Instead of fumbling MPLS into
ether_output() and later on other L2 output functions use a trick and over-
load the ifp->if_output() function pointer on MPLS enabled interfaces to
go through mpls_output() which will then call the link level output function.
By setting IFXF_MPLS on an interface the output pointers are switched.
This now allows to cleanup the MPLS input and output pathes and fix mpe(4)
so that the MPLS code now actually works for both P and PE systems.
Tested by myself and michele
(A custom kernel with MPLS and mpe enabled is still needed).

show more ...


# 8e084c5a 07-May-2010 claudio <claudio@openbsd.org>

Start cleaning up the mess called rtalloc*. Kill rtalloc2, make rtalloc1
accept flags for report and nocloning. Move the rtableid into struct route
(with a minor twist for now) and make a few more co

Start cleaning up the mess called rtalloc*. Kill rtalloc2, make rtalloc1
accept flags for report and nocloning. Move the rtableid into struct route
(with a minor twist for now) and make a few more codepathes rdomain aware.
Appart from the pf.c and route.c bits the diff is mostly mechanical.
More to come...
OK michele, henning

show more ...


# 9f573f23 09-Jul-2009 michele <michele@openbsd.org>

Remove commented variable.


# dc9da2d3 29-Apr-2009 michele <michele@openbsd.org>

Split up functionalities between mpls_input and mpls_output.
The former is responsible to handle packets destined to localhost,
the latter handles packet that have to be forwarded or the ones
origina

Split up functionalities between mpls_input and mpls_output.
The former is responsible to handle packets destined to localhost,
the latter handles packet that have to be forwarded or the ones
originated from localhost.

"i like it" claudio@

show more ...


# cd776ce1 28-Jan-2009 michele <michele@openbsd.org>

Get rid of the ugly rtentry hack.

We can now act as edge node and allow ipv4 packets to
enter a Label Switched Path and not just forwarding
MPLS packets.

OK claudio@


12