View xdp1-7-dns_says_no_final.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static __always_inline | |
void csum_remove_data(uint32_t *csum, struct cursor *c, uint16_t len) | |
{ | |
if (c->pos + len <= c->end) { | |
*csum = bpf_csum_diff(c->pos, len, 0, 0, *csum); | |
c->pos += len; | |
} | |
} | |
int xdp_dns_says_no(struct xdp_md *ctx) |
View xdp1-6-udp_dns_reply-part2.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// continuing: | |
if (dns->arcount) { | |
struct dns_rr *opt_rr; | |
uint8_t *opt_owner = c->pos; | |
opt_owner = c->pos; | |
if (++c->pos > c->end || *opt_owner | |
|| !(opt_rr = parse_dns_rr(c)) | |
|| opt_rr->type != __bpf_htons(RR_TYPE_OPT)) |
View xdp1-5-udp_dns_reply.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static __always_inline | |
int udp_dns_reply(struct cursor *c) | |
{ | |
struct udphdr *udp; | |
struct dnshdr *dns; | |
if (!(udp = parse_udphdr(c))|| udp->dest != __bpf_htons(DNS_PORT) | |
|| !(dns = parse_dnshdr(c))) | |
return -1; | |
View xdp1-4-dns_qrr.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct dns_qrr { | |
uint16_t qtype; | |
uint16_t qclass; | |
}; | |
struct dns_rr { | |
uint16_t type; | |
uint16_t class; | |
uint32_t ttl; | |
uint16_t rdata_len; |
View xdpblog1-3-parse_dname.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static __always_inline | |
uint8_t *parse_dname(struct cursor *c, uint8_t *pkt) | |
{ | |
uint8_t *dname = c->pos; | |
int i; | |
for (i = 0; i < 128; i++) { /* Maximum 128 labels */ | |
uint8_t o; | |
if (c->pos + 1 > c->end) |
View xdpblog1-2-dnshdr.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct dnshdr { | |
uint16_t id; | |
union { | |
struct { | |
uint8_t rd : 1; | |
uint8_t tc : 1; | |
uint8_t aa : 1; | |
uint8_t opcode : 4; | |
uint8_t qr : 1; | |
View xdpblog1-1_xdp_dns_says_no.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SEC("xdp-dns-says-no-v1") | |
int xdp_dns_says_no(struct xdp_md *ctx) | |
{ | |
struct cursor c; | |
struct ethhdr *eth; | |
uint16_t eth_proto; | |
struct iphdr *ipv4; | |
struct ipv6hdr *ipv6; | |
cursor_init(&c, ctx); |
View goldencheetah-3.5.1710.ebuild
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 1999-2017 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
EAPI=6 | |
inherit qmake-utils | |
inherit versionator | |
MY_PN="GoldenCheetah" | |
MY_PV=$(replace_version_separator 2 '-DEV') |
View fastbike_avoid_unpaved_gravel.brf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# A fastbike could be a racing bike or a speed pedelec. | |
# But also at night or in rainy whether you might want | |
# to fallback to this one. | |
# | |
# Structure is similar to trekking.brf, see this for documenation. | |
# | |
---context:global # following code refers to global config |
View simplesix.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <pcap.h> | |
#include <arpa/inet.h> | |
#include <linux/if_ether.h> | |
#include <netinet/ip6.h> | |
#define SNAP_LEN 1500 | |
int main(int argc, char *argv[]) { |
NewerOlder