summaryrefslogtreecommitdiffstats
path: root/sys/netmpls/mpls_output.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-02-21No need for state_preboot() to double check timeout beingkrw1-13/+3
tracked in tick_msg() and explicitly calling tick_msg(TICK_SLEEP). One fewer use of each of time(), ifi->startup_time and config->link_timeout. Makes code easier to follow. No intentional functional change.
2021-02-21Don't explicitly send address family in IMSG_VROUTE_ADD. The receivingtobhe1-12/+2
process parses af from the sockaddrs. ok patrick@
2021-02-21One CPUs that implement the VHE extension and have the E2H bit set, keepkettenis2-6/+12
running the kernel in EL2. ok patrick@
2021-02-21Add ping -g, a concise display format similar to that used by othersthen2-14/+45
network devices that shows one character per echo request (! for normal response, . for timed out, D for duplicate, T for truncated) making it easier to identify patterns of loss over periods of time. ok remi@ kn@, feedback from deraadt@ chris@ !!!!!...!!!!!!!!!!!!!!!!!!!!!!!!!!!...!!!!!!!!!!!!!!!!!!!!!!!!!!!.........!!!!!!!!!!!!!!!!!!!!!...!!!!!!!!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!.........!!!!!!!!!!!!!!!!!!!!!...!!!!!!!!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!.........!!!!!!!!!!!!!!!!!!!!!...!!!!!!!!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!..........!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!..........!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!..........!!!!!!!!!!!!!!!!!!!!....!!!!!!!!!!!!!!!!!!!!!!!!!!.....!!!!!!!!!!!!!!
2021-02-21zap duplicate .Nm;jmc1-2/+1
2021-02-21syncderaadt1-0/+1
2021-02-21cut nvgre(4) over to use common etherbridge code.dlg2-317/+129
the "ports" that nvgre provides to etherbridge are ip addresses used in the underlay network. ok patrick@ jmatthew@
2021-02-21cut bpe(4) over to using the common etherbridge code.dlg2-292/+127
it's pretty straightforward since etherbridge was mostly based on this code in the first place. the etherbridge_ops that bpe provides to etherbridge set entries up to point at mac addresses in the underlay network. ok patrick@ jmatthew@
2021-02-21add etherbridge, the guts of a learning bridge that can be reused.dlg3-2/+693
this allows for the factoring out of the learning bridge code i wrote in bpe and nvme, and should be reusable for other drivers needing a mac learning bridge. the core data structures are an etherbridge struct to represent the learning bridge, eb_entry structs for each mac address entry that the bridge knows about, and an etherbridge_ops struct that drivers fill in so that they can use this code. eb_entry structs are stored in a hash table made up of SMR_TAILQs to support lookups of entries quickly and concurrently in the forwarding path. they are also stored in a locked red-black tree to help manage the uniqueness of the mac address in the table. the etherbridge_ops handlers mostly deal with comparing and testing the "ports" associated with mac address table entries. the "port" that a mac address entry is associated with is opaque to the etherbridge code, which allows for this code to be used by nvgre and bpe which map mac addresses inside the bridge to addresses in their underlay networks. it also supports traditional bridges where "ports" are actual interfaces. ok patrick@ jmatthew@
2021-02-21i added stoeplitz_eaddrdlg1-1/+11
2021-02-21fix the names of the things that actually do the hashing.dlg1-22/+23
2021-02-21add stoeplitz_eaddr, for getting a hash value from an ethernet address.dlg2-2/+16
2021-02-20Fail on invalid address family.tobhe1-1/+3
2021-02-20remove warning about amdgpu userptr ioctl being unimplementedjsg1-1/+0
matches radeon and i915 reported by Benjamin Baier
2021-02-20Enable threads testotto1-1/+1
2021-02-20A regress test to test concurrent exception handling in threadsotto2-0/+63
2021-02-20Make the unwind cache tread-safe by declaring it thread_local. Solvesotto1-1/+1
segfaults seen on exception handling. ok kettenis@
2021-02-20tick_msg("lease", TICK_SUCCESS) in bind_lease() should *not* bekrw1-2/+2
invoked when log_getverbose() returns 0.
2021-02-20Fix disestablishing of PCI interrupt handlers.visa1-9/+2
2021-02-20ugly whitespacetb2-14/+14
2021-02-20Rename f_err into fatal_err.tb7-183/+183
discussed with jsing
2021-02-20Rename the truncated label into decode_err. This describes its purposetb2-73/+73
better and doesn't look odd if there's trailing data for exapmle. Indent a few labels in the neighborhood while there. ok jsing
2021-02-20zap unneccessary .Pp;jmc1-4/+2
2021-02-20Revise regress to match change in SSL{_CTX,}_get_{min,max}_proto_version().jsing1-34/+45
2021-02-20Return a min/max version of zero if set to zero.jsing3-17/+41
OpenSSL's SSL{_CTX,}_get_{min,max}_proto_version() return a version of zero if the minimum or maximum has been set to zero (which means the minimum or maximum version supported by the method). Previously we returned the minimum or maximum version supported by the method, instead of zero. Match OpenSSL's behaviour by using shadow variables. Discussed with tb@
2021-02-20Add DTLSv1.2 methods.jsing2-3/+159
These are currently guarded by LIBRESSL_HAS_DTLS1_2 and LIBRESSL_INTERNAL. ok tb@
2021-02-20Handle DTLS1_2_VERSION in various places.jsing3-6/+9
ok tb@
2021-02-20Revise HelloVerifyRequest handling for DTLSv1.2.jsing2-4/+14
Per RFC 6347 section 4.2.1, the HelloVerifyRequest should always contain DTLSv1.0 - ensure this is the case on the server side, allow both DTLSv1.0 and DTLSv1.2 on the client. ok tb@
2021-02-20Group HelloVerifyRequest decoding and add missing check for trailing data.jsing1-4/+5
ok tb@
2021-02-20Add various public DTLS related defines.jsing2-2/+14
These are currently guarded by LIBRESSL_HAS_DTLS1_2 and LIBRESSL_INTERNAL. ok tb@
2021-02-20Clean up/simplify dtls1_get_cipher().jsing1-7/+8
ok tb@
2021-02-20move from calling l3 protocol input handlers to using if_vinput.dlg2-40/+14
if_vinput requires mpsafe interface counters, so add those in. this factors out some more code between drivers. monitor mode will work on these interfaces now too.
2021-02-20move gre and mgre from calling l3 input handlers to using if_vinput.dlg1-46/+11
using if_vinput factors out a lot of repeated code between tunnel drivers, and it means monitor mode works on gre and mgre now too. make the l2 gre interfaces do some things in the same order while here.
2021-02-20move gif from calling l3 protocol input handlers to using if_vinput.dlg1-25/+5
if_vinput requires mpsafe interface counters, so gif is a bit more mpsafe now than it was before. using if_vinput means monitor mode works on gif now too.
2021-02-20add p2p_input, like ether_input but for l3 tunnel interfaces.dlg2-2/+44
the l3 protocol input to push the packet is based on a value in m->m_pkthdr.ph_family, which tunnel drivers should set before calling if_vinput. add p2p_bpf_mtap to call bpf_mtap_af also using m->m_pkthdr.ph_family.
2021-02-20let tun use bpf_mtap for handling input packets.dlg1-1/+4
tun (not tap) input packets are written from userland in the same format that it's bpf dlt is expecting, so we can push the packet straight into bpf with bpf_mtap. this is more correct that using bpf_mtap_ether for tun.
2021-02-20default interfaces to bpf_mtap_ether for their if_bpf_mtap handler.dlg2-4/+8
call (*ifp->if_bpf_mtap) instead of bpf_mtap_ether in ifiq_input and if_vinput.
2021-02-20give interfaces an if_bpf_mtap handler.dlg1-1/+2
the network stack is now responsible for calling bpf for packets that the interface receives, and we so far got away with using bpf_mtap_ether for everything. this doesn't work if layer 3 input goes through the same functions, so letting drivers specify the appropriate bpf mtap function means they will be able to cope.
2021-02-20syncsthen1-1/+1
2021-02-20Recommit upstream alignment fix plus libperl version bumpafresh14-25/+41
This reapplies commit e0lLUzj1XNW7pJMh and moves libperl to 21.0 The ABI change appears to be fine after XS modules are rebuilt. OK sthen@
2021-02-20document the monitor flag.dlg1-2/+8
reminded by benno@
2021-02-20add support for handling the interface monitor flagdlg1-2/+4
ok benno@
2021-02-20add a MONITOR flag to ifaces to say they're only used for watching packets.dlg3-8/+12
an example use of this is when you have a span port on a switch and you want to be able to see the packets coming out of it with tcpdump, but do not want these packets to enter the network stack for processing. this is particularly important if the span port is pushing a copy of any packets related to the machine doing the monitoring as it will confuse pf states and the stack. ok benno@
2021-02-19Fail on duplicate nonce payload.tobhe1-2/+5
ok patrick@
2021-02-19Add 't' to options in man page. ok jmc@ kn@lum1-3/+6
2021-02-19Append .html suffix to temporary files enabling browsers to recognise itkn3-8/+10
Occasionally one might read a manual page in a webbrowser, e.g. "MANPAGER=firefox man -T html jq", however temporary files created for pagers lack file extensions and most web browsers are unable to detect a file's content without it. Special case mandoc(1)'s HTML output format by appending the ".html" suffix to file names such that browsers will actually render HTML as such instead of showing it as plain text. Input schwarze
2021-02-19Put duplicated code calculating backoff interval and packet 'secs'krw1-115/+91
into new set_interval()/set_secs() functions. send_request() and send_discover() become much easier to understand. No intentional functional change.
2021-02-19Missed poll -> ppoll in log_warn() verbiage.krw1-2/+2
2021-02-19Convert reallocarray + memset to recallocarray.tb3-12/+10
ok claudio
2021-02-19Add the same ASCII check to the URI in TAL files as we do for URI in .cer filesclaudio1-1/+9
OK tb@