History log of /openbsd-current/sys/netmpls/mpls_raw.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.20 29-Apr-2024 jsg

remove unused global vars
ok deraadt@ miod@


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE OPENBSD_7_5_BASE
# 1.19 22-Feb-2022 guenther

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@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.18 19-Aug-2020 gnezdo

Convert mpls_sysctl to sysctl_bounded_args

OK claudio@


# 1.17 01-Aug-2020 gnezdo

Move range check inside sysctl_int_arr

Range violations are now consistently reported as EOPNOTSUPP.
Previously they were mixed with ENOPROTOOPT.

OK kn@


Revision tags: OPENBSD_6_7_BASE
# 1.16 05-Nov-2019 claudio

Remove mpls_inkloop and the corresponding sysctl net.mpls.maxloop_inkernel.
The value is no longer needed since the MPLS code got refactored some time
ago.
Found by Thomas Habets (thomas (at) habets se)


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Feb-2017 claudio

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.


# 1.14 15-Nov-2016 mpi

Return EOPNOTSUPP instead of calling a function to do only that.

ok phessler@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 24-Nov-2015 mpi

No need for <net/if_types.h>

As a bonus this removes a "#if NCARP > 0", say yeah!


Revision tags: OPENBSD_5_8_BASE
# 1.12 20-Jul-2015 rzalamena

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@


# 1.11 10-Apr-2015 dlg

replace the use of ifqueues for most input queues serviced by netisr
with niqueues.

this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places

by flipping all these input queues at once i can keep the currently
common code common.

testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Dec-2014 mpi

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

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


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.9 27-Mar-2013 tedu

a little header cleanup. ok deraadt


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.8 03-Sep-2010 claudio

Use MPLS_INKERNEL_LOOP_MAX instead of 16 when initializing mpls_inkloop.


Revision tags: OPENBSD_4_8_BASE
# 1.7 15-Jul-2010 claudio

Correct function in panic string. From Christophe Fillot


# 1.6 02-Jun-2010 claudio

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@


# 1.5 22-Apr-2010 michele

Unbreak build of MPLS enabled kernel. proc.h is needed.

ok claudio@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.4 01-Nov-2008 michele

Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.

Input and OK claudio@


Revision tags: OPENBSD_4_4_BASE
# 1.3 23-May-2008 thib

Make this compile again, by adding a struct proc * argument
to the usrreq's.

(Both MPLS and NETATALK are disabled in GENERIC).


# 1.2 23-Apr-2008 norby

I hate working outside the tree.

Fix my faulty import....


# 1.1 23-Apr-2008 norby

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@


# 1.19 22-Feb-2022 guenther

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@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.18 19-Aug-2020 gnezdo

Convert mpls_sysctl to sysctl_bounded_args

OK claudio@


# 1.17 01-Aug-2020 gnezdo

Move range check inside sysctl_int_arr

Range violations are now consistently reported as EOPNOTSUPP.
Previously they were mixed with ENOPROTOOPT.

OK kn@


Revision tags: OPENBSD_6_7_BASE
# 1.16 05-Nov-2019 claudio

Remove mpls_inkloop and the corresponding sysctl net.mpls.maxloop_inkernel.
The value is no longer needed since the MPLS code got refactored some time
ago.
Found by Thomas Habets (thomas (at) habets se)


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Feb-2017 claudio

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.


# 1.14 15-Nov-2016 mpi

Return EOPNOTSUPP instead of calling a function to do only that.

ok phessler@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 24-Nov-2015 mpi

No need for <net/if_types.h>

As a bonus this removes a "#if NCARP > 0", say yeah!


Revision tags: OPENBSD_5_8_BASE
# 1.12 20-Jul-2015 rzalamena

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@


# 1.11 10-Apr-2015 dlg

replace the use of ifqueues for most input queues serviced by netisr
with niqueues.

this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places

by flipping all these input queues at once i can keep the currently
common code common.

testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Dec-2014 mpi

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

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


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.9 27-Mar-2013 tedu

a little header cleanup. ok deraadt


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.8 03-Sep-2010 claudio

Use MPLS_INKERNEL_LOOP_MAX instead of 16 when initializing mpls_inkloop.


Revision tags: OPENBSD_4_8_BASE
# 1.7 15-Jul-2010 claudio

Correct function in panic string. From Christophe Fillot


# 1.6 02-Jun-2010 claudio

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@


# 1.5 22-Apr-2010 michele

Unbreak build of MPLS enabled kernel. proc.h is needed.

ok claudio@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.4 01-Nov-2008 michele

Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.

Input and OK claudio@


Revision tags: OPENBSD_4_4_BASE
# 1.3 23-May-2008 thib

Make this compile again, by adding a struct proc * argument
to the usrreq's.

(Both MPLS and NETATALK are disabled in GENERIC).


# 1.2 23-Apr-2008 norby

I hate working outside the tree.

Fix my faulty import....


# 1.1 23-Apr-2008 norby

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@


# 1.18 19-Aug-2020 gnezdo

Convert mpls_sysctl to sysctl_bounded_args

OK claudio@


# 1.17 01-Aug-2020 gnezdo

Move range check inside sysctl_int_arr

Range violations are now consistently reported as EOPNOTSUPP.
Previously they were mixed with ENOPROTOOPT.

OK kn@


Revision tags: OPENBSD_6_7_BASE
# 1.16 05-Nov-2019 claudio

Remove mpls_inkloop and the corresponding sysctl net.mpls.maxloop_inkernel.
The value is no longer needed since the MPLS code got refactored some time
ago.
Found by Thomas Habets (thomas (at) habets se)


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Feb-2017 claudio

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.


# 1.14 15-Nov-2016 mpi

Return EOPNOTSUPP instead of calling a function to do only that.

ok phessler@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 24-Nov-2015 mpi

No need for <net/if_types.h>

As a bonus this removes a "#if NCARP > 0", say yeah!


Revision tags: OPENBSD_5_8_BASE
# 1.12 20-Jul-2015 rzalamena

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@


# 1.11 10-Apr-2015 dlg

replace the use of ifqueues for most input queues serviced by netisr
with niqueues.

this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places

by flipping all these input queues at once i can keep the currently
common code common.

testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Dec-2014 mpi

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

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


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.9 27-Mar-2013 tedu

a little header cleanup. ok deraadt


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.8 03-Sep-2010 claudio

Use MPLS_INKERNEL_LOOP_MAX instead of 16 when initializing mpls_inkloop.


Revision tags: OPENBSD_4_8_BASE
# 1.7 15-Jul-2010 claudio

Correct function in panic string. From Christophe Fillot


# 1.6 02-Jun-2010 claudio

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@


# 1.5 22-Apr-2010 michele

Unbreak build of MPLS enabled kernel. proc.h is needed.

ok claudio@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.4 01-Nov-2008 michele

Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.

Input and OK claudio@


Revision tags: OPENBSD_4_4_BASE
# 1.3 23-May-2008 thib

Make this compile again, by adding a struct proc * argument
to the usrreq's.

(Both MPLS and NETATALK are disabled in GENERIC).


# 1.2 23-Apr-2008 norby

I hate working outside the tree.

Fix my faulty import....


# 1.1 23-Apr-2008 norby

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@


# 1.17 01-Aug-2020 gnezdo

Move range check inside sysctl_int_arr

Range violations are now consistently reported as EOPNOTSUPP.
Previously they were mixed with ENOPROTOOPT.

OK kn@


Revision tags: OPENBSD_6_7_BASE
# 1.16 05-Nov-2019 claudio

Remove mpls_inkloop and the corresponding sysctl net.mpls.maxloop_inkernel.
The value is no longer needed since the MPLS code got refactored some time
ago.
Found by Thomas Habets (thomas (at) habets se)


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Feb-2017 claudio

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.


# 1.14 15-Nov-2016 mpi

Return EOPNOTSUPP instead of calling a function to do only that.

ok phessler@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 24-Nov-2015 mpi

No need for <net/if_types.h>

As a bonus this removes a "#if NCARP > 0", say yeah!


Revision tags: OPENBSD_5_8_BASE
# 1.12 20-Jul-2015 rzalamena

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@


# 1.11 10-Apr-2015 dlg

replace the use of ifqueues for most input queues serviced by netisr
with niqueues.

this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places

by flipping all these input queues at once i can keep the currently
common code common.

testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Dec-2014 mpi

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

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


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.9 27-Mar-2013 tedu

a little header cleanup. ok deraadt


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.8 03-Sep-2010 claudio

Use MPLS_INKERNEL_LOOP_MAX instead of 16 when initializing mpls_inkloop.


Revision tags: OPENBSD_4_8_BASE
# 1.7 15-Jul-2010 claudio

Correct function in panic string. From Christophe Fillot


# 1.6 02-Jun-2010 claudio

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@


# 1.5 22-Apr-2010 michele

Unbreak build of MPLS enabled kernel. proc.h is needed.

ok claudio@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.4 01-Nov-2008 michele

Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.

Input and OK claudio@


Revision tags: OPENBSD_4_4_BASE
# 1.3 23-May-2008 thib

Make this compile again, by adding a struct proc * argument
to the usrreq's.

(Both MPLS and NETATALK are disabled in GENERIC).


# 1.2 23-Apr-2008 norby

I hate working outside the tree.

Fix my faulty import....


# 1.1 23-Apr-2008 norby

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@


# 1.16 05-Nov-2019 claudio

Remove mpls_inkloop and the corresponding sysctl net.mpls.maxloop_inkernel.
The value is no longer needed since the MPLS code got refactored some time
ago.
Found by Thomas Habets (thomas (at) habets se)


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.15 27-Feb-2017 claudio

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.


# 1.14 15-Nov-2016 mpi

Return EOPNOTSUPP instead of calling a function to do only that.

ok phessler@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 24-Nov-2015 mpi

No need for <net/if_types.h>

As a bonus this removes a "#if NCARP > 0", say yeah!


Revision tags: OPENBSD_5_8_BASE
# 1.12 20-Jul-2015 rzalamena

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@


# 1.11 10-Apr-2015 dlg

replace the use of ifqueues for most input queues serviced by netisr
with niqueues.

this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places

by flipping all these input queues at once i can keep the currently
common code common.

testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Dec-2014 mpi

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

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


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.9 27-Mar-2013 tedu

a little header cleanup. ok deraadt


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.8 03-Sep-2010 claudio

Use MPLS_INKERNEL_LOOP_MAX instead of 16 when initializing mpls_inkloop.


Revision tags: OPENBSD_4_8_BASE
# 1.7 15-Jul-2010 claudio

Correct function in panic string. From Christophe Fillot


# 1.6 02-Jun-2010 claudio

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@


# 1.5 22-Apr-2010 michele

Unbreak build of MPLS enabled kernel. proc.h is needed.

ok claudio@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.4 01-Nov-2008 michele

Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.

Input and OK claudio@


Revision tags: OPENBSD_4_4_BASE
# 1.3 23-May-2008 thib

Make this compile again, by adding a struct proc * argument
to the usrreq's.

(Both MPLS and NETATALK are disabled in GENERIC).


# 1.2 23-Apr-2008 norby

I hate working outside the tree.

Fix my faulty import....


# 1.1 23-Apr-2008 norby

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@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.15 27-Feb-2017 claudio

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.


# 1.14 15-Nov-2016 mpi

Return EOPNOTSUPP instead of calling a function to do only that.

ok phessler@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.13 24-Nov-2015 mpi

No need for <net/if_types.h>

As a bonus this removes a "#if NCARP > 0", say yeah!


Revision tags: OPENBSD_5_8_BASE
# 1.12 20-Jul-2015 rzalamena

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@


# 1.11 10-Apr-2015 dlg

replace the use of ifqueues for most input queues serviced by netisr
with niqueues.

this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places

by flipping all these input queues at once i can keep the currently
common code common.

testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Dec-2014 mpi

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

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


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.9 27-Mar-2013 tedu

a little header cleanup. ok deraadt


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.8 03-Sep-2010 claudio

Use MPLS_INKERNEL_LOOP_MAX instead of 16 when initializing mpls_inkloop.


Revision tags: OPENBSD_4_8_BASE
# 1.7 15-Jul-2010 claudio

Correct function in panic string. From Christophe Fillot


# 1.6 02-Jun-2010 claudio

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@


# 1.5 22-Apr-2010 michele

Unbreak build of MPLS enabled kernel. proc.h is needed.

ok claudio@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.4 01-Nov-2008 michele

Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.

Input and OK claudio@


Revision tags: OPENBSD_4_4_BASE
# 1.3 23-May-2008 thib

Make this compile again, by adding a struct proc * argument
to the usrreq's.

(Both MPLS and NETATALK are disabled in GENERIC).


# 1.2 23-Apr-2008 norby

I hate working outside the tree.

Fix my faulty import....


# 1.1 23-Apr-2008 norby

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@