Hi, I'm Filippo and today I managed to surprise myself! (And not in a good way.)
I'm developing a new module ("filter" as we call them) for RRDNS, CloudFlare's Go DNS server. It's a rewrite of the authoritative module, the one that adds the IP addresses to DNS answers.
It has a table of CloudFlare IPs that looks like this:
type IPMap struct {
sync.RWMutex
M map[string][]net.IP
}
It's a global filter attribute:
type V2Filter struct {
name string
IPTable *IPMap
// [...]
}
CC-BY-NC-ND image by Martin SoulStealer
The table changes often, so a background goroutine periodically reloads it from our distributed key-value store, acquires the lock (f.IPTable.Lock()
), updates it and releases the lock (f.IPTable.Unlock()
). This happens every 5 minutes.
Everything worked in tests, including multiple and concurrent requests.
Today we deployed to an off-production test machine and everything worked. For a few minutes. Then RRDNS stopped answering queries for the beta domains served by the new code.
What. That worked on my laptop™.
Here's the IPTable consumer function. You can probably spot the bug.
func (f *V2Filter) getCFAddr(...) (result []dns.RR) {
f. Continue reading
Texas company joins the fray in providing service assurance in virtual environments.
The post Worth Reading: Cloud Access Security Brokers appeared first on 'net work.
We sit down with Tom Burns of Dell to get an update on Dell's open networking efforts, including support for additional switch OSs. We also discuss the risks the company took in embracing the concept, and the implications of HP's recent open-source switch OS release.
The post PQ Show 62: Open Networking At Dell appeared first on Packet Pushers.
"Traditional BSS will not be able to handle the shift from the physical network to the virtual network."
In this week's feature interview we're chatting with Chris Rock from Kustodian. Chris did a great presentation at Ruxcon last week about how easy it is to hack people to death!
He's found out just how easy it is to register births and deaths in the united states and Australia via online systems. He says it's a problem that could result in a virtual baby harvest for fraudsters who plan ahead. It's really fun stuff, that's this week's feature.
Network namespaces allow you to provide unique views of the network to different processes running on a Linux host. If you’re coming from a traditional networking background, the closest relative to network namespaces would be VRF (Virtual Routing and Forwarding) instances. In both cases the constructs allow us to provide a different network experience to different processes or interfaces. For the sake of starting the conversation, let’s quickly look at an example of both VRFs and network namespaces so you get an idea of how they work.
The easiest scenario to illustrate either of these technologies is out of band management. Take for instance this very simple network diagram…
Note: I’m being purposefully vague here about the network layout and addressing. Bear with me for a moment while I get to the point.
As you can see, we have two users that live on the same segment (forgive me for not drawing an Ethernet segment connecting the two). Let’s assume that the user on the left has to traverse northbound to get to resources that hang off the top network cloud. Let’s also assume the user on the right has to Continue reading
There is an interesting parallel with the Open vSwitch architecture, see Open vSwitch performance monitoring, which maintains a cache of active flows in the Linux kernel to accelerate forwarding. In the SDN routing case, active prefixes are pushed to the switch ASIC in order to bypass the slower software router.In this example, the software is being used in passive mode, estimating the cache hit / miss rates without offloading routes. The software has been configured to manage a cache of 10,000 prefixes. The first screen shot shows the cache warming up.