2
2
"""
3
3
portconfig is the utility to show and change ECN configuration
4
4
5
- usage: portconfig [-h] [-v] [-s] [-f] [-p PROFILE] [-gmin GREEN_MIN]
5
+ usage: portconfig [-h] [-v] [-s] [-f] [-m] [- p PROFILE] [-gmin GREEN_MIN]
6
6
[-gmax GREEN_MAX] [-ymin YELLOW_MIN] [-ymax YELLOW_MAX]
7
7
[-rmin RED_MIN] [-rmax RED_MAX] [-vv]
8
8
@@ -13,6 +13,7 @@ optional arguments:
13
13
-p --port port name
14
14
-s --speed port speed in Mbits
15
15
-f --fec port fec mode
16
+ -m --mtu port mtu in bytes
16
17
"""
17
18
from __future__ import print_function
18
19
@@ -25,6 +26,7 @@ import swsssdk
25
26
PORT_TABLE_NAME = "PORT"
26
27
PORT_SPEED_CONFIG_FIELD_NAME = "speed"
27
28
PORT_FEC_CONFIG_FIELD_NAME = "fec"
29
+ PORT_MTU_CONFIG_FIELD_NAME = "mtu"
28
30
29
31
class portconfig (object ):
30
32
"""
@@ -57,6 +59,11 @@ class portconfig(object):
57
59
print ("Setting fec %s on port %s" % (fec , port ))
58
60
self .db .mod_entry (PORT_TABLE_NAME , port , {PORT_FEC_CONFIG_FIELD_NAME : fec })
59
61
62
+ def set_mtu (self , port , mtu ):
63
+ if self .verbose :
64
+ print ("Setting mtu %s on port %s" % (mtu , port ))
65
+ self .db .mod_entry (PORT_TABLE_NAME , port , {PORT_MTU_CONFIG_FIELD_NAME : mtu })
66
+
60
67
def main ():
61
68
parser = argparse .ArgumentParser (description = 'Set SONiC port parameters' ,
62
69
version = '1.0.0' ,
@@ -65,18 +72,21 @@ def main():
65
72
parser .add_argument ('-l' , '--list' , action = 'store_true' , help = 'list port parametars' , default = False )
66
73
parser .add_argument ('-s' , '--speed' , type = int , help = 'port speed value in Mbit' , default = None )
67
74
parser .add_argument ('-f' , '--fec' , type = str , help = 'port fec mode value in (none, rs, fc)' , default = None )
75
+ parser .add_argument ('-m' , '--mtu' , type = int , help = 'port mtu value in bytes' , default = None )
68
76
parser .add_argument ('-vv' , '--verbose' , action = 'store_true' , help = 'Verbose output' , default = False )
69
77
args = parser .parse_args ()
70
78
71
79
try :
72
80
port = portconfig (args .verbose , args .port )
73
81
if args .list :
74
82
port .list_params (args .port )
75
- elif args .speed or args .fec :
83
+ elif args .speed or args .fec or args . mtu :
76
84
if args .speed :
77
85
port .set_speed (args .port , args .speed )
78
86
if args .fec :
79
87
port .set_fec (args .port , args .fec )
88
+ if args .mtu :
89
+ port .set_mtu (args .port , args .mtu )
80
90
else :
81
91
parser .print_help ()
82
92
sys .exit (1 )
0 commit comments