A patch to emulab client scripts is required to make Services.RR nodes work with emulab. Emulab's default nfs mount optinos include 'udp'. With some files, an NFS UDP packet is generated that appears to look like a DHCP packet and is dropped by the BCH
GbESM switches. No solution was found, so the workaround is to patch an emulab client script to drop the 'udp' mount option:
# (cd / && patch -p0) < tcpnfs_narwhal.patch
--- /usr/local/etc/emulab/liblocsetup.pm.orig 2015-07-17 15:50:29.739543718 -0400
+++ /usr/local/etc/emulab/liblocsetup.pm 2015-07-17 15:47:52.095957896 -0400
@@ -85,7 +85,7 @@
# Note that we try multiple versions in os_nfsmount below; this is for legacy
# code, or code where the mount is best done in the caller itself... or code
# I didn't want to convert!
-$NFSMOUNT = "/bin/mount -o nolock,udp";
+$NFSMOUNT = "/bin/mount -o nolock";
$LOOPBACKMOUNT = "/bin/mount -n -o bind ";
$UMOUNT = "/bin/umount";
$TMPASSWD = "$ETCDIR/passwd";
@@ -2332,7 +2332,7 @@
sub os_nfsmount($$)
{
my ($remote,$local) = @_;
- my $opts = "nolock,udp";
+ my $opts = "nolock";
# XXX doesn't work without this
if (INXENVM()) {
@@ -2346,7 +2346,7 @@
#
if (system("/bin/mount -o vers=3,$opts $remote $local") &&
system("/bin/mount -o vers=2,$opts $remote $local") &&
- system("/bin/mount -o udp $remote $local")) {
+ system("/bin/mount $remote $local")) {
return 1;
}
--
MitchFranzos - 18 Jul 2015