Category Archives: Networking

Mellanox ConnectX-3 Firmware Flashing and Configuration for Both Ethernet and InfiniBand in 2021

Introduction

Although old, Mellanox ConnectX-3 has been a good card with decent performance and a good price on second-hand markets. This makes it the straightforward choice for a high-performance home or lab network. (If you intend to run InfiniBand on ESXi 7.0 or higher, go for CX4.) Sometimes you would find a card with a strange firmware or one not compatible with your existent gear. Luckily you can change the port configuration on all CX3 cards with a simple firmware flash. Here’s how.

Continue reading

Interoperating Cisco DMVPN, Huawei DSVPN and OpenNHRP

Traditional point-to-point site-to-site VPN protocols require extensive setup in certain use cases. For example, if you want shortcuts between branch offices rather than let every packet go through the HQ, then you need to set up a cartesian product of tunnels by hand, which is time-consuming and error prone. So, people want something better, something easy to set up and maintain, and dynamic enough. While there are already a lot dynamic point-to-multipoint or full-mesh site-to-site VPN implementations (e.g. Tinc VPN, ZeroTier) on Linux, you don’t have many choices on these commercial black boxes.

Cisco DMVPN (Cisco Dynamic Multipoint VPN) is one solution to this. Huawei also had their DMVPN-compatible solution called DSVPN (Dynamic Smart VPN). Since the protocol is largely compatible, I’ll just reference it as DMVPN.

Continue reading

Cisco Aironet 1800i: Hardware Detail

Cisco Aironet 1800i is a cute little device that is just a little smaller than my hand. They are light in weight, not very hot (not a good replacement of the old 3502i model if you also have a cat around your home) and require less power to operate. I recently got one 1800i in my room, so I’d like to write a little about this model since it is so different from the old PowerPC-based ones.

Continue reading

Multicast VXLAN for Routers

VXLAN has been around for a while, so how do router vendors support it? Well, let’s use a dead simple topology to test them out.

Our setup today:

  • All routers connected to the same dumb switch using IP range 169.254.0.0/24
  • Multicast signaling on address 239.0.0.1, No PIM
  • VXLAN UDP port 4789
  • Network 10.0.0.0/24 on VNI 5000 (layer 3 termination / inter-VXLAN routing)

Continue reading

Configure OpenVPN Server with RouterOS compatibility

RouterOS has nothing to do with security, so this article will focus on usability rather than security. All configurations related to security will be marked as optional.

First of all, let’s review all the limitations we have on the OpenVPN client on RouterOS 6.x:

  • Supported protocol: TCP (TLS mode) only, no UDP, no static key
  • Supported ciphers: none BF-CBC AES-128-CBC AES-192-CBC AES-256-CBC
  • Supported digest algorithms: none MD5 SHA1
  • Supported authentication methods: username, password and optional client certificate
  • Does not support MPLS even if running in TAP mode

Continue reading