Would you please confirm If the 903X cRIO family supports Jumbo Frame communication over the GigE ports?
If No, would you please explain the reason?
It should. I have not tried it and we do not test it, but the hardware supports it and there is no reason for the driver to not support it. You'll have to enable the feature using the appropriate Linux commands.
I encountered a problem with this yesterday. In order to enable jumbo frames on my 9039, I had to ssh to the controller (using PuTTY) and issue the command "ifconfig eth0 mtu 9000". That correctly configured the port but running a "Configure Grab" vi just produced the same error, complaining that jumbo frames weren't enabled.
Restart the controller and the jumbo frames have gone but if I then repeated the process the vi was happy. Odd.
Anyway, what you then need to do is make the change to the port settings persistent. I couldn't find any succinct information on how to do this but the following works.
Ensure that ssh access is enabled on the controller (checkbox in MaX)
Connect to the controller over ssh (PuTTY is great for this. The default system username is "admin" and no password)
cd /etc/rc5.d(Enter) (this is the startup folder for runlevel 5)
Look for an unused slot. The files have names like Snn-xxxxxxx. and they execute in order. I created a file called "S12-jumbo" as the network starts right at the beginning.
To create the file...
i (switches to insert mode)
#! /bin/sh(Enter) (this line opens a shell. Don't miss the space between the ! and the /)
ifconfig eth0 mtu 9000(Enter)
(Esc):wq(Enter) (the esc key returns you from insert mode. The colon opens the command line w and q write and quit. I know, vi is a horrible editor. You could just transfer the file in from your PC)
So, by this stage, we should have a file created called /etc/rc5.d/S12-jumbo
We need to make it executable so type
chmod +x S12-jumbo
We are done!
Restart your controller and the first ethernet port will support jumbo frames. If you need to do the same for port 2, just add the line "ifconfig eth1 mtu 9000" to the above script.
Hope this helps someone.
I was trying to set my flexrio controller 7935 to support Jumbo frame, following your post I input: ifconfig eth0 mtu 9000,but it doesn't looks like it working.
admin@CLifconfig eth0 mtu 9000
ifconfig: SIOCSIFMTU: Device or resource busy
Can anyone give me some suggestion? Thanks!
A quick search online finds this error and comments like
While network device is up, system can not change the MTU. unless, do " ifconfig eth0 down" before.
So perhaps you need to configure it before it comes up (or take it down briefly to change the settings) . Try setting the MTU in the startup script and see if that's early enough. If not then perhaps you need to add the "down" and "up" commands around it.
I just tried that.
admin@CL:~# ifconfig eth0 down
admin@CL:~# ifconfig eth0 mtu 9000
ifconfig: SIOCSIFMTU: Invalid argument
admin@CL:~# ifconfig eth0 mtu 1500
admin@CL:~# ifconfig eth0 mtu 1600
ifconfig: SIOCSIFMTU: Invalid argument
Add the line
to the [eth0] section of /etc/natinst/share/ni-rt.ini
I hadn't seen this before but I just tried it and it seems to work perfectly, and without all of the messing about with the rest of the system. I did this on a cRIO-9031 but it should work the same on your controller.
Hope this helps.
I did what you told, add a line to this ini file, but after device restart, the last line I added mtu="9000" simply gone...
I just rebooted and checked my chassis and it still has the line intact and reports the correct mtu in ifconfig.
I added it straight after the [eth0] line using the "vi" program. It's easy to exit "vi" without saving the file. Check it's saved correctly (do Esc:w!). If you added it at the bottom, make sure you have a carriage return after it. Beyond that I'm not sure what to suggest.
I did "press ESC", press w, press q, and I even open the file again to check the line I put is there.
I also did add a Enter at the end of the line.
After reboot, it all gone...