Ubiquiti EdgeRouter Lite Internal Block Diagram

Because of work, I ended up having one of these routers.

Having an EdgeRouter Lite to add new features in to it seemed fun. The software that powers it is pretty well known as a fork from Vyatta Core back in the 6.3 days along with Cavium’s IP Offload module that enables it to forward packets at 1 Million per second for 64 byte packets (That’s as low as an Ethernet frame can go, by the way). It’s also well known that the SoC used in this particular model is manufactured by Cavium.
Continue reading “Ubiquiti EdgeRouter Lite Internal Block Diagram”

CentOS 6.6 Updates and Fixes for Hyper-V Guests

CentOS 6.6 was recently released. As expected, there are a few fixes and updates for Hyper-V guests.

The changes I can remember off the top of my head for Hyper-V guests are:

  • Updated KVP and VSS user-space daemons
  • CentOS 6.6 is now fully supports virtual NUMA topology presented by the host. In the past, if you have a guest that had processors and memory that spanned across more than 1 NUMA node, the guest would crash due to a bug in the kernel.
  • The hv_balloon driver should now not cause a constant 1.00 load average due to the way how the driver reported the memory pressure back to the host.

Unfortunately, the documentation says that there is experimental support for CentOS 6.6 running as a Generation 2 guest. The installer runs fine, but since there is no hyperv-keyboard driver included in the initramfs image of the installer. You will need to install CentOS 6.6 via automated means by using a kickstart file. Unfortunately, when you first boot into the system, you will notice the guest crashes with a kernel panic. This makes Generation 2 support with CentOS 6.6 somewhat pointless at this time.

Using the Smarty Template Engine for your Custom WHMCS Addon Module

If you ever wondered how one uses the Smarty template engine in conjunction with WHMCS’s _output function for custom addon modules, here’s a snippet that you can use for WHMCS 5.3.x and PHP 5.3.x:


function _setup_template() {
global $templates_compiledir;
$template = new Smarty();
$template->compile_dir = $templates_compiledir;
$template->template_dir = __DIR__ . DIRECTORY_SEPARATOR . 'templates';
return $template;
}

Include this in your functions file or whatnot and be on your merry way on creating WHMCS modules for your business! *cough* *cough*

Getting Ubuntu 14.04 LTS to Customize Properly With Microsoft’s Virtual Machine Manager 2012 R2

As most people do know, it is possible to get Microsoft’s Virtual Machine Manager to deploy and customize a Linux based OS automatically. Officially Microsoft supports Ubuntu 12.04 LTS as a one of Linux distributions they support, however in practice any Debian like distribution can be supported as long as the locations of the network configuration, hostname configuration and SSH Host Keys are in the same locations as Debian and/or Ubuntu place them.

However in the upcoming Ubuntu 14.04 LTS release, there were some changes that can potentially cause VMM’s guest agent not to customize the virtual machines properly. In order to make VMM’s guest agent to provision correctly there are 2 options:

  • Write your own VMM guest agent
  • Modify a few file paths so Ubuntu 14.04 will look somewhat like Ubuntu 12.04 LTS in terms of network configuration

I choose the latter option. Now I do have a custom VMM Guest Agent written for FreeBSD in Perl, however creating a VMM guest agent for this specific reason isn’t a good utilization of time.

I’ve taken the following actions to make Ubuntu 14.04 to appear like Ubuntu 12.04 by doing the following:

  • Remove the line in the /etc/network/interfaces file where it references to /etc/network/interfaces.d/*.cfg

Surprisingly there’s only one thing you really need to do. There’s more if you decide to be even lazier and download the cloud image provided here, but it’s beyond the scope of this tidbit.