用 chdev 和 ifconfig 命令修改 ISNO 选项

可以使用以下命令先验证系统和接口支持,然后设置和验证新值:

  • 确保使用下面的命令启用了 use_isno 选项:
    # no -a | grep isno
    use_isno = 1
  • 通过使用 lsattr -El 命令,确保接口支持 5 个新的 ISNO:
    # lsattr -E -l en0 -H
    attribute           value description                          user_settable
    :
    rfc1323             Enable/Disable TCP RFC 1323 Window Scaling True
    tcp_mssdflt         Set TCP Maximum Segment Size               True
    tcp_nodelay         Enable/Disable TCP_NODELAY Option          True
    tcp_recvspace       Set Socket Buffer Space for Receiving      True
    tcp_sendspace       Set Socket Buffer Space for Sending        True
    
  • 使用 ifconfigchdev 命令来设定特定于接口的值。 ifconfig 命令的设定值是临时的(最好是用于测试)。 命令 chdev 更改 ODM,使系统启动后定制值返回。

    例如,要将 tcp_recvspacetcp_sendspace 设置为 64 KB 并启用 tcp_nodelay,请使用下列其中一种方法:

    # ifconfig en0 tcp_recvspace 65536 tcp_sendspace 65536 tcp_nodelay 1
    # chdev -l en0 -a tcp_recvspace=65536 -a tcp_sendspace=65536 -a tcp_nodelay=1
  • 使用 ifconfiglsattr 命令来验证设定值:
    # ifconfig en0
    en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
            inet 9.19.161.100 netmask 0xffffff00 broadcast 9.19.161.255
            tcp_sendspace 65536 tcp_recvspace 65536 tcp_nodelay 1
    # lsattr -El en0
    rfc1323             Enable/Disable TCP RFC 1323 Window Scaling True
    tcp_mssdflt         Set TCP Maximum Segment Size               True
    tcp_nodelay   1     Enable/Disable TCP_NODELAY Option          True
    tcp_recvspace 65536 Set Socket Buffer Space for Receiving      True
    tcp_sendspace 65536 Set Socket Buffer Space for Sending        True