summaryrefslogtreecommitdiffstats
path: root/sys/netmpls (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduce a new dummy operation to easily handle packets that have to leavemichele2009-04-282-5/+22
| | | | | | the MPLS cloud and join ipv4/ipv6 stack. ok claudio@ laurent@
* Correctly handle packets that are leaving the MPLS cloud andmichele2009-04-172-7/+109
| | | | | | | | | joining the ipv4/ipv6 stack. Get also rid of the dependency on mpe(4) for packets not belonging to VPN traffic. ok laurent@, ok and input claudio@
* Use our own flags to set the operations and not RTF_PROTOX.michele2009-02-031-5/+5
| | | | | | | Switch the padding field into a MPLS one in rt_msghdr to store relevant informations. OK claudio@ laurent@
* mpls_operation have to be 2 bytes long to storemichele2009-01-291-2/+2
| | | | | | operations correctly ok claudio@ laurent@
* Get rid of the ugly rtentry hack.michele2009-01-284-102/+98
| | | | | | | | 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@
* Fix sockaddr_mpls structure.michele2009-01-085-33/+43
| | | | | | | | | 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@
* Initial fixup of sockaddr_mpls struct.michele2008-12-155-37/+23
| | | | | | | | 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@
* Fix cvs id tag.michele2008-11-061-1/+1
|
* Introduced Uniform Model for TTL handling.michele2008-11-013-11/+17
| | | | | | | | 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@
* Added mpls_output() used to output mpls packets originating from local host.michele2008-10-282-1/+155
| | | | | | Strictly similar to mpls_input(). Input and OK claudio@, OK laurent@
* Now mpls_input() handles ipv4 and ipv6 explicit null labels.michele2008-10-142-3/+30
| | | | | | Added mpe_input6 to manage also ipv6 packets insted of just ipv4 ones. OK claudio@ laurent@
* Forgot this one. Wrap a printf() into MPLS_DEBUG sincethib2008-05-231-1/+3
| | | | MPLS_LABEL_GET() is only available #ifdef MPLS_DEBUG
* Make this compile again, by adding a struct proc * argumentthib2008-05-232-4/+4
| | | | | | to the usrreq's. (Both MPLS and NETATALK are disabled in GENERIC).
* Make MPLS code compile without pseudo device mpe. OK norbyclaudio2008-05-101-1/+5
|
* Kill some useless makros.claudio2008-05-091-3/+1
|
* Hook mpe(4) correctly into mpls so that it is possible to tunnel packets overclaudio2008-05-082-11/+16
| | | | MPLS. Still a bit hackish but getting closer. hai norby@
* add mpe_input() to be able to be fed packets that will reenter ip.pyr2008-05-071-1/+3
| | | | | | no consumers yet, they should come soon. ok norby@
* Make mpe a point-to-point interface.pyr2008-05-071-1/+4
| | | | | Make the mtu user definable. ok claudio@
* Correctly initialize labels by byte-swapping and inserting BoS and TTL.pyr2008-05-071-1/+2
| | | | | | | | While there bump MTU to 1500 and set the receiving interface before calling mpls_input. mpestart will eventually call mpls_output when it exists. ``yaaaaayyy'' and ok claudio@ and norby@
* bring in the mpe interface - for ``MPLS Provider Edge'' - this is a workpyr2008-05-062-4/+15
| | | | | | | in progress and some bits need to be cleaned up but will be in-tree for convenience. ok claudio@, norby@
* Drop all broadcast and multicast packets.norby2008-05-061-1/+7
| | | | ok claudio@
* get rid of rtalloc, use rtalloc1 instead.norby2008-05-061-6/+5
| | | | ok claudio@
* fix debug output.norby2008-05-061-12/+17
| | | | ok claudio@
* Fix the label swithing and forwarding logic a bit. OK norby@claudio2008-05-021-8/+15
|
* There is no need to endian convert the label after swapping it, all label opsclaudio2008-05-021-2/+1
| | | | are done with network byte ordering now. OK norby@
* Drop all MPLS packets when MPLS is not enabled.norby2008-04-302-2/+8
| | | | | | | | | Discussed with claudio@ dlg@ laurent@ Remember to enable MPLS vith sysctl(8). sysctl -w net.mpls.enable=1 ok claudio@ dlg@ laurent@
* the softnet intr handlers check if the input queue has packets ondlg2008-04-241-2/+2
| | | | | | | | | | | | | | | it by reading the queues head pointer. if that pointer is not null then it takes splnet and dequeues a packet for handling. this is bad because the ifqueue head is modified at splnet and the sofnet handlers read it without holding splnet. this removes that check of the head pointer and simply checks if the dequeue gave us a packet or not before proceeding. found while reading mpls code. discussed with norby@ and henning@ ok mcbride@ henning@
* unbreak compilationg with option MPLS but without option MPLS_DEBUGdlg2008-04-231-1/+5
|
* add missing prototypesnorby2008-04-231-1/+19
|
* not needed any more...norby2008-04-231-111/+0
|
* not needed any more...norby2008-04-232-398/+0
|
* I hate working outside the tree.norby2008-04-235-705/+5
| | | | Fix my faulty import....
* Import MPLS (Multi Protocol Label Switching)norby2008-04-238-0/+1845
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@