On Tue, Nov 06, 2018 at 11:01:37PM -0800, Ayaka Koshibe wrote:
> Hi all,
> 
> Currently, switchd(8) defaults to listening on port 6633, which was
> the defacto port value used by OpenFlow. A decent chunk of OpenFlow
> controllers have switched over to the IANA standardized OpenFlow port,
> 6653. While testing the change, I noticed that switchd(8) will listen on
> random ports if one isn't specified in switchd.conf(5), e.g:
> 
> listen on 127.0.0.1
> 
> The following consolidates the #defines for port values, and also sets a
> default listen port when it isn't specified in switchd.conf(5).
>  
> Comments/OKs?
> 

OK claudio@
 
> Thanks,
> Ayaka
> 
> Index: parse.y
> ===================================================================
> RCS file: /cvs/src/usr.sbin/switchd/parse.y,v
> retrieving revision 1.12
> diff -u -p -u -r1.12 parse.y
> --- parse.y   1 Nov 2018 00:18:44 -0000       1.12
> +++ parse.y   7 Nov 2018 06:35:03 -0000
> @@ -146,6 +146,8 @@ listen            : LISTEN ON STRING opttls port {
>                               YYERROR;
>                       }
>                       free($3);
> +                     ((struct sockaddr_in *)&conf->sc_server.srv_addr)
> +                         ->sin_port = htons(SWITCHD_CTLR_PORT);
>               }
>               ;
>  
> @@ -627,7 +629,7 @@ parse_config(const char *filename, struc
>  
>       conf = sc;
>  
> -     /* Set the default 0.0.0.0 6633/tcp */
> +     /* Set the default 0.0.0.0 6653/tcp */
>       memset(&conf->sc_server.srv_addr, 0, sizeof(conf->sc_server.srv_addr));
>       sin4 = (struct sockaddr_in *)&conf->sc_server.srv_addr;
>       sin4->sin_family = AF_INET;
> Index: types.h
> ===================================================================
> RCS file: /cvs/src/usr.sbin/switchd/types.h,v
> retrieving revision 1.10
> diff -u -p -u -r1.10 types.h
> --- types.h   18 Nov 2016 16:49:35 -0000      1.10
> +++ types.h   7 Nov 2018 06:35:03 -0000
> @@ -37,8 +37,7 @@
>  #define SWITCHD_MAX_TAP              256
>  #define SWITCHD_MAX_SESSIONS 0xffff
>  
> -#define SWITCHD_CTLR_PORT    6633    /* Previously used by OpenFlow */
> -#define SWITCHD_CTLR_IANA_PORT       6653    /* Assigned by IANA for 
> OpenFlow */
> +#define SWITCHD_CTLR_PORT    6653    /* Assigned by IANA for OpenFlow */
>  
>  #define SWITCHD_CACHE_MAX    4096    /* Default MAC address cache limit */
>  #define SWITCHD_CACHE_TIMEOUT        240     /* t/o in seconds for learned 
> MACs */
> 

-- 
:wq Claudio

Reply via email to