TODO: Some instructions suggest some other configure options. Are they needed?
Build it (this will take while).
Note, if you get a build error and when you re-make with make -j1 V=s you see
errors related to rsa-sign.o, check out this issue. I ran
into this when building OpenWrt with Debian Stretch. You can either downgrade
OpenSSL, or patch the OpenWrt code.
Copy the firmware for safe keeping.
Step 2: Flash the firmware
The above process produced two image files:
If you are installing directly from the OEM Linksys Firmware, then use the
-factory.img version. This can be flashed by navigating the OEM Linksys Web
interface: Connectivity -> Manual Update.
If you already have OpenWRT on your router, then you will use the
-sysupgrade.tar. Copy the file to the router and flash it. Be sure to clear
the settings (-n) when installing this as a new firmware. Alternatively, you
can use the OpenWRT Web interface, remembering to untick “Keep Settings.”
Step 3: Initial Setup and WAN Interface Access
The next step will assume a connection from the WAN interface. This step
enables SSH on the WAN interface and sets a root password. Note: If you can
setup up a static DHCP configuration for the WAN interface, it will make your
life easier. Bonus points if you use DNSMasq to assign a DNS hostname.
Connect an ethernet cable to a LAN port and receive a DHCP lease.
Option A: Allow just SSH
Option B: Allow everything to connect to WAN (more flexible if you are on your own LAN).
Finally, restart the firewall:
Step 4: Network Configuration
The following network configuration will enable OpenFlow on all of the LAN and
WLAN interfaces. Furthermore, the configuration separates each LAN switch port
into a different VLAN so that it is uniquely identifiable from the OpenFlow
controller. Since the configuration modifies the LAN interface, it is best to
make this configuration from a connection to the WAN interface.
Note: This configuration is based on instructions from
KickStartSDN, but interface and port information needs to be
customized for your router based on the OpenWRT page for
your router. Note that the WRT1900ACS interface and port configuration is
different than the WRT1900AC, so be careful. Look at the diagrams and adjust
accordingly. It may also be useful to review the OpenWRT Switch
Finally, restart the network (here is where it is good to be connected via the WAN interface).
Step 4: Setting up OpenFlow
Need to change /etc/functions.sh to /lib/functions.sh in both /sbin/ofup and /sbin/ofdown (could this have been done during build?
Install python and pox
Put this very simple controller code in pox-carp/pox/forwarding/hubacls.py
Start the controller, which will print connections to the network.
You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.
To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
Jekyll also offers powerful support for code snippets: