History log of /openbsd/sys/netmpls/mpls_proto.c (Results 1 – 20 of 20)
Revision Date Author Comments
# 7eb8d89d 22-Feb-2022 guenther <guenther@openbsd.org>

Delete unnecessary #includes of <sys/domain.h> and/or <sys/protosw.h>

net/if_pppx.c pointed out by jsg@
ok gnezdo@ deraadt@ jsg@ mpi@ millert@


# c90e7dcc 25-May-2021 bluhm <bluhm@openbsd.org>

As network features are not added dynamically, the domain structures
are constant. Having more const makes MP review easier. More
pointers are mapped read-only in the kernel image.
OK deraadt@ mvs@


# ff10691e 13-Jun-2019 claudio <claudio@openbsd.org>

Copy the user provided sockaddr into a normalized sockaddr in rtrequest()
before adding it to the routing table. The rtable code is doing memcmp()
of those rt_dest sockaddrs so it is important that t

Copy the user provided sockaddr into a normalized sockaddr in rtrequest()
before adding it to the routing table. The rtable code is doing memcmp()
of those rt_dest sockaddrs so it is important that they are stored in a
canonical form. To do this struct domain is extended to include the
sockaddr size for this address family.
OK bluhm@ anton@

Reported-by: syzbot+10fe9cd8d0211c562ead@syzkaller.appspotmail.com

show more ...


# d29df515 19-Nov-2018 claudio <claudio@openbsd.org>

Retire dom_rtkeylen from struct domain. Nothing is using this anymore.
It was used by the original patricia tree.
OK mpi@


# 57e8cdb9 02-Mar-2017 mpi <mpi@openbsd.org>

Convert domain declarations to C99 initializers.

ok dhill@, florian@, bluhm@


# 2b751374 27-Feb-2017 claudio <claudio@openbsd.org>

Retire the AF_MPLS protosw struct. Nothing is using it and the code was super
basic anyway. Simplifies the code a lot also by calling the mpls sysctl no
longer via the protosw but instead directly.
O

Retire the AF_MPLS protosw struct. Nothing is using it and the code was super
basic anyway. Simplifies the code a lot also by calling the mpls sysctl no
longer via the protosw but instead directly.
OK mpi@ on a previous diff. Also tested by renato@ who actually found a bug
which is now fixed.

show more ...


# ad38292e 03-Dec-2015 mpi <mpi@openbsd.org>

Get rid of rt_mask() and stop allocating a "struct sockaddr" for every
route entry in ART.

rt_plen() now represents the prefix length of a route entry and should
be used instead.

For now use a "str

Get rid of rt_mask() and stop allocating a "struct sockaddr" for every
route entry in ART.

rt_plen() now represents the prefix length of a route entry and should
be used instead.

For now use a "struct sockaddr_in6" to represent the mask when needed,
this should be then replaced by the prefix length and RTA_NETMASK only
used for compatibility with userland.

ok claudio@

show more ...


# 2d6ba272 07-Oct-2015 mpi <mpi@openbsd.org>

Initialize the routing table before domains.

The routing table is not an optional component of the network stack
and initializing it inside the "routing domain" requires some ugly
introspection in t

Initialize the routing table before domains.

The routing table is not an optional component of the network stack
and initializing it inside the "routing domain" requires some ugly
introspection in the domain interface.

This put the rtable* layer at the same level of the if* level. These
two subsystem are organized around the two global data structure used
in the network stack:

- the global &ifnet list, to be used in process context only, and
- the routing table which can be read in interrupt context.

This change makes the rtable_* layer domain-aware and extends the
"struct domain" such that INET, INET6 and MPLS can specify the length
of the binary key used in lookups. This allows us to keep, or move
towards, AF-free route and rtable layers.

While here stop the madness and pass the size of the maximum key length
in *byte* to rn_inithead0().

ok claudio@, mikeb@

show more ...


# 98afcbd2 04-Sep-2015 mpi <mpi@openbsd.org>

Make every subsystem using a radix tree call rn_init() and pass the
length of the key as argument.

This way every consumer of the radix tree has a chance to explicitly
initialize the shared data str

Make every subsystem using a radix tree call rn_init() and pass the
length of the key as argument.

This way every consumer of the radix tree has a chance to explicitly
initialize the shared data structures and no longer rely on another
subsystem to do the initialization.

As a bonus ``dom_maxrtkey'' is no longer used an die.

ART kernels should now be fully usable because pf(4) and IPSEC properly
initialized the radix tree.

ok chris@, reyk@

show more ...


# 07577b53 30-Aug-2015 mpi <mpi@openbsd.org>

Use a global table for domains instead of building a list at run time.

As a side effect there's no need to run if_attachdomain() after the
list of domains has been built.

ok claudio@, reyk@


# 55df0a74 18-Jul-2015 mpi <mpi@openbsd.org>

Abstract the routing table internals behind an rtable_* API.

Code abusing the radix internals for the routing table should now
includes <net/rtable.h> and only deal with "struct rtentry".

Code usin

Abstract the routing table internals behind an rtable_* API.

Code abusing the radix internals for the routing table should now
includes <net/rtable.h> and only deal with "struct rtentry".

Code using a radix tree for another purpose can still include
<net/radix.h>.

Inputs from and ok claudio@, mikeb@

show more ...


# 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@


# a370214e 08-Sep-2014 jsg <jsg@openbsd.org>

remove uneeded route.h includes
ok miod@ mpi@


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

Move various extern declarations into their corresponding header file.


# 20c3ef60 31-Mar-2011 jasper <jasper@openbsd.org>

- use nitems(); no binary change

ok claudio@


# 6e09dc19 15-Oct-2010 claudio <claudio@openbsd.org>

Enable multipath support on the MPLS routing table. ldpd needs this and
the priority support that comes together with it. Currently no balancing
will happen, only the first path will be used.


# 13a1ade2 08-Jan-2009 michele <michele@openbsd.org>

Fix sockaddr_mpls structure.
Now it contains just the label as it must be.

This introduces a ugly hack in rtentry that will be removed
as soon as possible.

OK claudio@


# 31dd9a49 15-Dec-2008 michele <michele@openbsd.org>

Initial fixup of sockaddr_mpls struct.

Remove smpls_in_iface as labels must be per platform unique.
Remove smpls_out_iface. It is redudant and can be inferred from nexthop.
Move smpls_operation to r

Initial fixup of sockaddr_mpls struct.

Remove smpls_in_iface as labels must be per platform unique.
Remove smpls_out_iface. It is redudant and can be inferred from nexthop.
Move smpls_operation to rt_flags and temporary remove smpls_out_exp.

ok claudio@

show more ...


# 5e171871 23-Apr-2008 norby <norby@openbsd.org>

I hate working outside the tree.

Fix my faulty import....


# d90b9793 23-Apr-2008 norby <norby@openbsd.org>

Import MPLS (Multi Protocol Label Switching)

MPLS support partly based on the (abandoned?) AYAME project.
Basic LSR (Label Switch Router) functionality is present, but not fully
functional yet.

It

Import MPLS (Multi Protocol Label Switching)

MPLS support partly based on the (abandoned?) AYAME project.
Basic LSR (Label Switch Router) functionality is present, but not fully
functional yet.

It is currently possible to insert entries in the LIB (Label Information Base)
with route(8), but setting the operation type is not supported yet.

Imported to allow more people to work on this in the coming weeks.

ok claudio@ laurent@ dlg@

show more ...