Category: HowTo

A good article on modifying the MTU.

The maximum transmission unit (MTU) of a network interface is the size of the largest block of data that can be transmitted as a single unit. Anything larger than the MTU must be broken into smaller units prior to transmission. The following link has a short passage on modifying the MTU.

Change the MTU of a network interface

If you want to change the MTU in the linux kernel source code the macro can be found in

the location

linux/include/uapi/linux/if_ether.h

The macro name is ETH_DATA_LEN and if you are increasing it you need to increase the frame length also. The macro for from length is ETH_FRAME_LEN. I did experiment to modify MTU to 1508. So I modified the ETH_DATA_LEN to 1508 and frame length to 1522.

After the same through ifconfig I was able to set the mtu to 1508.

e.g:- ifconfig eth0 mtu 1508

Setting anything beyond ETH_DATA_LEN the ifconfig will return “SIOCSIFMTU: Invalid argument”. Also changing to any values beyond 1500 ensure your network devices support.

 

Makefile Tip

You might have faced Makefile not continuing with rest of the commands if any of the previous commands returns exit code as -1 or any negative values. There is a simple way for make to ignore these return codes and continue the build. Just add ‘-‘ before the command for which build is failing. Ensure that this tip is used only for the case where the tool is returning failure and the objective of the tool is working fine.

Printing the gcc predefined macros to stdout

Any time you wanted to know the list of gcc used macros and their values. Here is the command details

touch foo.h; gcc -dM -E foo.h

will list all the macros used.

The option

-dM will generate the list of all #defines used by the pre-processor during execution, this also includes pre-defined macros.

-E will stop the compiler after pre-processing stage. Will not enter to the compiling stage. The output will be in the preprocessed form and will be sent to the stdout.

The Perfect Load-Balanced & High-Availability Web Cluster With 2 Servers Running Xen On Ubuntu 8.04 Hardy Heron | HowtoForge – Linux Howtos and Tutorials

In this howto we will build a load-balanced and high-availability web cluster on 2 real servers with Xen, hearbeat and ldirectord. The cluster will do http, mail, DNS, MySQL database and will be completely monitored. This is currently used on a production server with a couple of websites.

How To…