- switch( opt )
- {
- case 'A':
- cmd |= CEGW_CMD_ADD;
- break;
- case 'F':
- cmd |= CEGW_CMD_FLUSH;
- break;
- case 'L':
- cmd |= CEGW_CMD_LIST;
- break;
- case 'l':
- cmd |= CEGW_CMD_LISTEN;
- if( (optstr = read_iftype( optarg, &tmp )) == NULL )
- {
- perr( "'--listen'" );
- return -1;
- }
- if( tmp != IF_ETH_UDP )
- {
- perr( "'--listen' expects udp interface" );
- return -1;
- }
- if( read_addrport( optstr, &d.eth_listen_addr, &d.eth_listen_port ) )
- {
- perr( "'--listen'" );
- return -1;
- }
- break;
- case 's':
- if( read_if( optarg, &d.src_if, &d ) != 0 )
- {
- perr( "'-s'" );
- return -1;
- }
- break;
- case 'd':
- if( read_if( optarg, &d.dst_if, &d ) != 0 )
- {
- perr( "'-d'" );
- return -1;
- }
- break;
- case '?':
- return -1;
- break;
- default:
- perr( "unknown option" );
- return -1;
- break;
- }
- }
+ if( gw_eth_sock == -1 )
+ fprintf( stderr, "error: udp socket for gw creation failed\n" );
+ if( gw_can_sock == -1 )
+ fprintf( stderr, "error: can socket for gw creation failed\n" );
+
+ gw_eth_addr.sin_family = AF_INET;
+ gw_eth_addr.sin_port = htons( 10501 );
+ gw_eth_addr.sin_addr.s_addr = INADDR_ANY;
+
+ gw_can_addr.can_family = AF_CAN;
+ gw_can_addr.can_ifindex = 0;
+
+ if( bind( gw_eth_sock, (struct sockaddr*)&gw_eth_addr, sizeof(gw_eth_addr) ) != 0 )
+ fprintf( stderr, "error: eth binding\n" );
+ if( bind( gw_can_sock, (struct sockaddr*)&gw_can_addr, sizeof(gw_can_addr) ) )
+ fprintf( stderr, "error: can binding\n" );
+
+ printf( "sockets created (%i,%i)\n", gw_can_sock, gw_eth_sock );