summaryrefslogtreecommitdiff
path: root/usr.sbin
AgeCommit message (Collapse)Author
2015-07-21VPLS signaling support.Renato Westphal
This patch introduces full support for pseudowire signaling in ldpd(8), including Control Word and Status TLV negotiation. As of now it's not possible to configure a VPWS, but the signaling is the same. In the future, when VPWS support is available in the kernel, ldpd(8) can be extended to support VPWS with only a few modifications. Limitations: * No support for FEC 129, only FEC 128 (more widely deployed); * No support for group withdraws (not widely deployed); * No support for MAC withdraws (not widely deployed). Related RFCs: * RFC 3916: Requirements for Pseudo-Wire Emulation Edge-to-Edge (PWE3) * RFC 3985: Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture * RFC 4385: Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN * RFC 4446: IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3) * RFC 4447: Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP) * RFC 4448: Encapsulation Methods for Transport of Ethernet over MPLS Networks * RFC 4905: Encapsulation Methods for Transport of Layer 2 Frames over MPLS Networks * RFC 4906: Transport of Layer 2 Frames Over MPLS ok claudio@
2015-07-21Record all fields of the received label mappings.Renato Westphal
Since we implement the Liberal Label Retention mode, we need to record all fields of the received label mappings so the messages can be processed later when there is a matching nexthop for the advertised FECs. This will be important when we implement VPLS because we need to retain information like the pseudowire's interface MTU and Group ID. ok claudio@
2015-07-21Validate ip addresses on configuration.Renato Westphal
ok claudio@
2015-07-21VPLS signaling support.Renato Westphal
This patch introduces full support for pseudowire signaling in ldpd(8), including Control Word and Status TLV negotiation. As of now it's not possible to configure a VPWS, but the signaling is the same. In the future, when VPWS support is available in the kernel, ldpd(8) can be extended to support VPWS with only a few modifications. Limitations: * No support for FEC 129, only FEC 128 (more widely deployed); * No support for group withdraws (not widely deployed); * No support for MAC withdraws (not widely deployed). Related RFCs: * RFC 3916: Requirements for Pseudo-Wire Emulation Edge-to-Edge (PWE3) * RFC 3985: Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture * RFC 4385: Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN * RFC 4446: IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3) * RFC 4447: Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP) * RFC 4448: Encapsulation Methods for Transport of Ethernet over MPLS Networks * RFC 4905: Encapsulation Methods for Transport of Layer 2 Frames over MPLS Networks * RFC 4906: Transport of Layer 2 Frames Over MPLS ok claudio@
2015-07-21Rename structures and functions to be more generic.Renato Westphal
LDP work with FECs, where a FEC can be a prefix, a pseudowire and so on. ok claudio@
2015-07-21Reuse merge_config() logic to simplify the shutdown of each process.Renato Westphal
ok claudio@
2015-07-21Add configuration reload support.Renato Westphal
ok claudio@
2015-07-21Correct man pages. Update the config example, fix some options, fix theYASUOKA Masahiko
copyright and use $Mdocdate$.
2015-07-21Assorted fixes and code cleanup for targeted neighbors.Renato Westphal
ok claudio@
2015-07-21Improve handling of addresses on ldpe.Renato Westphal
This is a preliminary work for the the next patch (sigup config reload). We want to make sure that the ldpe process can handle duplicated addresses. The idea is to alloc two different if_addr structures for each address, and link one in the global list of addresses (used to send address messages) and link the other to the associated interface list of addresses. Doing that we will be able to call kif_redistribute() after reloading the config file and activate the new LDP enabled interfaces. NOTE: Interfaces are created at config parse time and the child processes inherit them on fork() so there's no need to send a status update at startup. ok claudio@
2015-07-21Add radiusd(8) and radiusctl(8). They are WIP. radiusd(8) is a RADIUSYASUOKA Masahiko
server and radiusctl(8) is to control the server. radiusd(8) currently supports bsdauth and radius (upstream radius servers) as authentication backends. fixes from jsg blambert ok deraadt
2015-07-20Fix a segfault at startup when if_change() ist called beforeSebastian Benoit
imsg_init() exposed by the second part of this diff which makes carp(4) interfaces be recognized to be in "backup" mode on start-up. Problem analyzed and fix provided by Johan Ymerson, thanks! ok claudio@, mpi@
2015-07-20properly encode IpAddress, Gauge32, and Counter32Bret Lambert
varbinds received from subagents ok reyk@
2015-07-20Do not reconnect outgoing TCP connections too aggressively. InAlexander Bluhm
case the receiver closes the connection, wait for a second to give him a chance to recover. OK benno@
2015-07-20Add size and NULL checks in debugutil.cYASUOKA Masahiko
Poined out by Yuuichi Someya at IIJ.
2015-07-20Pass the errcode when disconnecting L2TP call.YASUOKA Masahiko
From Yuuichi Someya at IIJ.
2015-07-20Remove old route to the tunnel interface when the interface's address isYASUOKA Masahiko
changed. From Yuuichi Someya at IIJ.
2015-07-20Add missing initializations in privsep.cYASUOKA Masahiko
From Yuuichi Someya at IIJ.
2015-07-20Do not accept sockets when syslogd reaches the file descriptorAlexander Bluhm
limit. Instead disable the listen event and wait for a second. Keep a reserve of 5 file descriptors. OK benno@
2015-07-20Make bgpd execute the RDE and session engine process instead of just forking.Claudio Jeker
This way ASLR and stack cookies are per process. With input from benno@ and deraadt@ OK benno@
2015-07-20ensure http_path is escaped before using it in Location redirection.Sebastien Marie
OK reyk@
2015-07-20tweak the /etc/random.seed interception so it provides a FILE* viaDavid Gwynne
fmemopen for the rest of the code to chew on, rather than having special casing for seed generation in the sending code. this also means our fake random.seed files will get proper netascii encoding by being read via the fgetc api instead of directly from a buffer. ok deraadt@ mcbride@
2015-07-19new sentence, new line;Jason McIntyre
2015-07-19Add missing LIST_INIT's.Renato Westphal
ok claudio@
2015-07-19Implement md5 authentication support.Renato Westphal
ok claudio@
2015-07-19Rework label mapping algorithms to be more in line with the RFC.Renato Westphal
This patch presents a thoroughly review of the label mapping algorithms. Most of the changes are minor bug fixes in the handling of received label messages. Additional improvements: * Add a few more references to the Appendix A of the RFC5036 ("LDP Label Distribution Procedures") into the code; * Add full multipath support; * Send label withdraws when appropriate; * Add label withdraw/release wildcard support. NOTE: As a result of implementing only the "Liberal Label Retention" and "Downstream Unsolicited" modes, we will never send a label request ("Request Never"). And that means that we can ignore the following notification messages: "Label Request Aborted", "No Label Resources", "No Route" and "Label Resources Available". The following algorithms mentioned in the RFC can also be ignored: "Timeout of Deferred Label Request", "Detect Local Label Resources Have Become Available" and "Receive Label Abort Request". Now, considering that we only support one combination of all modes of operation, we can say that we have an almost complete implementation of the protocol. ok claudio@
2015-07-19Remove incomplete support for unnecessary modes of operation.Renato Westphal
LDP has several modes of operation, it was designed in that way so it could run on legacy equipment like ATM/FR switches with very strict memory limitations. For modern hardware there's no point on using either the "Conservative Label Retention" or "Downstream On Demand" modes of operation since they save memory at cost of blackholing traffic when routing changes. Major vendors implement only the "Liberal Label Retention" and "Downstream Unsolicited" modes for non ATM/FR hardware. Let's do that too. As for using either "Independent Control" or "Ordered Control", let's stick with the first option mainly because it's easier to implement and because it doesn't really matter which control mode is used. For reference, Cisco implements only "Independent Control" and Juniper only "Ordered Control". Both modes are interoperable. The point of supporting only one combination of all modes of operation is that it will allow for the writing of a simpler code without removing useful functionality. ok claudio@
2015-07-19For incoming TCP message streams autodetect wether the method isAlexander Bluhm
octet counting or non transparent framing. OK benno@
2015-07-19Uninstall associated label bindings when a neighbor is down.Renato Westphal
ok claudio@
2015-07-19Rework kroute.c to send only the best routes to lde.Renato Westphal
This is major rework of the kroute.c code. The idea is remove complexity from the lde process by making kroute.c advertise only the lowest priority routes of each prefix. kroute.c now keeps track of all routes using three different structures: kroute_prefix, kroute_priority and kroute_node. kroute_prefix represents a prefix and contains an ordered list of priorities (kroute_priority) and for each priority there is a list of nexthops (kroute_node). Arranging the routes using these three structures allows for the writing of a simpler code, easier to understand. Whenever a route is removed, if there's another route for the same prefix, but with a lower priority, this route is immediately sent to lde. Additional fixes: * On RTM_CHANGE, remove the old route before installing the new one; * On IMSG_CTL_KROUTE_ADDR, show all nexthops for multpath routes;
2015-07-19remove unused compat files, ok florian@Stuart Henderson
b64_{ntop,pton} remain for now, they are in libc as __b64_{ntop,pton} but to use this we either need to pull in resolv.h (which does "#define b64_ntop __b64_ntop") or access the __ versions directly (as done in ssh).
2010-04-15NSD v3.2.5Jakob Schlyter
2010-01-15NSD v3.2.4Jakob Schlyter
2015-07-19handle error returns from bufferevent_write()Bret Lambert
ok florian@
2015-07-19knock out "Ns Li" before colons - the Li was being ignored anyway, and iJason McIntyre
don;t think the colon needs marked up.
2015-07-19Match change to fatal()'s prototype in bgpdPhilip Guenther
ok benno@
2015-07-19For the completeness of HSTS, add the non-standard preload option.Reyk Floeter
OK florian@
2015-07-19clarify how inet|inet6 work in filtersSebastian Benoit
mofified version by jmc@, ok phessler@ and claudio@ is fine with it (but notes that the details are more complicated)
2015-07-19In tcpdump, show 11n HTOP primary and secondary channel numbers for 40MHz BSS,Stefan Sperling
instead of showing just the primary one and "above" or "below" for secondary. ok sthen
2015-07-19revert previousSebastian Benoit
Properly handle carp(4) interfaces in "backup" mode on start-up. Problem analyzed and fix provided by Johan Ymerson, thanks! ok claudio@, benno@ it breaks on systems without carp because iev_ospfe is not initiallized at the time kif_init() is called in main.
2015-07-19don't return failure for agentx messages with 0-length payloadsBret Lambert
allows snmpd to properly handle ping messages from agentx subagents ok reyk@
2015-07-18Make tcpdump show HTOP elements in 11n management frames; ok sthen@Stefan Sperling
2015-07-18give bgpd's fatal() varargs and use it to instrument bgpd fatal()Sebastian Benoit
calls to aid in debugging henning@ "makes sense to me", sthen@ "yes please", ok phessler@
2015-07-18remove XXX and handle error return from evbuffer_add()Bret Lambert
ok florian@
2015-07-18As libtls previously did not set SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER,Alexander Bluhm
syslogd had to drop messages after tls_write() returned TLS_{READ,WRITE}_AGAIN. Now after libtls has been fixed, remove the workaround. Messages are stored in the libevent write buffer as we can safely do a realloc(3) now. OK reyk@
2015-07-18libtls has been changed to set SSL_MODE_ENABLE_PARTIAL_WRITE andReyk Floeter
SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default. This gives tls_write() a similar short write semantics as write(2) and a workaround in httpd to cope with the previous differences can be removed. Specifically, httpd can stop copying data into a local buffer that was used to keep it around for repeated writes. OK bluhm@
2015-07-18Handle short writes and TLS_{READ,WRITE}_AGAIN around tls_write().Alexander Bluhm
input doug@; OK beck@
2015-07-18prevent the tls constraint state machine from getting hung on STATE_INVALIDBrent Cook
patch from Mikolaj Kucharski ok deraadt@
2015-07-18Add groups before users.Antoine Jacoutot
2015-07-18Add an example about showing wireless frames with tcpdump(8).Stefan Sperling
Apparently sniffing wifi frames isn't a very popular addiction?!? Requested by David Hill. ok aja phessler mpi