In Consul v0.8.4 or later, consul watch -type event HANDLER
gives same events several time to the HANDLER
.
- Invoke
consul watch -type event HANDLER
to wait events - Invoke
consul event -name "foo"
several time to fire events
#!/bin/bash | |
# Delete all devices on the Tailnet except for no expiry devices | |
# Released under the MIT license | |
set -eo pipefail | |
TAILSCALE_TAILNET=${TAILSCALE_TAILNET:-} | |
TAILSCALE_API_KEY=${TAILSCALE_API_KEY:-} | |
SCRIPT_REAL_RUN=${SCRIPT_REAL_RUN:false} | |
if [ -z "${TAILSCALE_API_KEY}" ]; then |
#include <uapi/linux/if_ether.h> | |
#include <uapi/linux/in.h> | |
#include <uapi/linux/ip.h> | |
#include <uapi/linux/tcp.h> | |
int drop_ipv4_tcp_80(struct xdp_md *ctx) { | |
void *data = (void *)(long)ctx->data; | |
void *data_end = (void *)(long)ctx->data_end; | |
struct ethhdr *eth; |
#!/usr/bin/env python3 | |
import pyroute2 | |
import socket | |
from pyroute2.netlink import rtnl | |
import subprocess | |
import time | |
from operator import itemgetter | |
class TCL3Switch(object): |
#!/usr/bin/env python | |
import socket | |
import fcntl | |
import struct | |
import array | |
SIOCETHTOOL = 0x8946 | |
ETHTOOL_GSTRINGS = 0x0000001b | |
ETHTOOL_GSSET_INFO = 0x00000037 | |
ETHTOOL_GSTATS = 0x0000001d |
import hashlib | |
class MaglevHash(object): | |
def __init__(self, m=65537): | |
self.m = m | |
self.permutation = {} | |
self.entry = [None] * self.m | |
def add(self, node): |
#define KBUILD_MODNAME "xdp_drop_80_8080" | |
#include <uapi/linux/bpf.h> | |
#include <linux/in.h> | |
#include <linux/if_ether.h> | |
#include <linux/if_packet.h> | |
#include <linux/if_vlan.h> | |
#include <linux/ip.h> | |
#include <linux/ipv6.h> | |
BPF_HASH(counter, uint32_t, long); |
#!/usr/bin/env python2 | |
from twisted.internet import reactor | |
from twisted.names import client, dns, server | |
import ipaddr | |
import socket | |
class SixFourResolver(client.Resolver): | |
def __init__( | |
self, |
[root@HOSTNAME:~]# netstat -natup | |
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name | |
(snip) | |
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 38681/java | |
tcp 0 0 127.0.0.1:48176 127.0.0.1:8080 ESTABLISHED 38681/java | |
tcp 71 0 127.0.0.1:8080 127.0.0.1:48176 ESTABLISHED 38681/java |
[testuser@HOSTNAME norikra]$ uname -a | |
Linux HOSTNAME 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | |
[testuser@HOSTNAME norikra]$ cat /etc/redhat-release | |
CentOS release 6.5 (Final) | |
[testuser@HOSTNAME norikra]$ rbenv version | |
jruby-1.7.17 (set by RBENV_VERSION environment variable) | |
[testuser@HOSTNAME norikra]$ jruby --version | |
jruby 1.7.17 (1.9.3p392) 2014-12-09 fafd1a7 on OpenJDK 64-Bit Server VM 1.7.0_65-mockbuild_2014_07_16_06_06-b00 +jit [linux-amd64] | |
[testuser@HOSTNAME norikra]$ gem list |