Implement the subject setsockopt by passing them to VCL
Change-Id: Ida5136cb3a51d2bf30080e8c4af4239681ed2184
Signed-off-by: Steven <sluong@cisco.com>
+ case SOL_TCP:
+ switch (__optname)
+ {
+ case TCP_KEEPIDLE:
+ rv =
+ vppcom_session_attr (__sid, VPPCOM_ATTR_SET_TCP_KEEPIDLE, 0, 0);
+ break;
+ case TCP_KEEPINTVL:
+ rv =
+ vppcom_session_attr (__sid, VPPCOM_ATTR_SET_TCP_KEEPINTVL, 0, 0);
+ break;
+ default:
+ break;
+ }
+ break;
case SOL_IPV6:
switch (__optname)
{
case IPV6_V6ONLY:
rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_V6ONLY, 0, 0);
case SOL_IPV6:
switch (__optname)
{
case IPV6_V6ONLY:
rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_V6ONLY, 0, 0);
}
break;
case SOL_SOCKET:
switch (__optname)
{
}
break;
case SOL_SOCKET:
switch (__optname)
{
+ case SO_KEEPALIVE:
+ rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_KEEPALIVE, 0, 0);
+ break;
case SO_REUSEADDR:
rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_REUSEADDR, 0, 0);
case SO_REUSEADDR:
rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_REUSEADDR, 0, 0);
case SO_BROADCAST:
rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_BROADCAST, 0, 0);
case SO_BROADCAST:
rv = vppcom_session_attr (__sid, VPPCOM_ATTR_SET_BROADCAST, 0, 0);
case IPV6_V6ONLY:
rv = vppcom_session_setsockopt (vsock->sid, __level, __optname,
__optval, __optlen);
case IPV6_V6ONLY:
rv = vppcom_session_setsockopt (vsock->sid, __level, __optname,
__optval, __optlen);
default:
return -EOPNOTSUPP;
}
default:
return -EOPNOTSUPP;
}
{
case TCP_NODELAY:
return 0;
{
case TCP_NODELAY:
return 0;
+ case TCP_KEEPIDLE:
+ case TCP_KEEPINTVL:
+ rv = vppcom_session_setsockopt (vsock->sid, __level, __optname,
+ __optval, __optlen);
+ break;
default:
return -EOPNOTSUPP;
}
default:
return -EOPNOTSUPP;
}
{
case SO_REUSEADDR:
case SO_BROADCAST:
{
case SO_REUSEADDR:
case SO_BROADCAST:
rv = vppcom_session_setsockopt (vsock->sid, __level, __optname,
__optval, __optlen);
rv = vppcom_session_setsockopt (vsock->sid, __level, __optname,
__optval, __optlen);
/*
* 1. for socket level options that are socket attributes,
/*
* 1. for socket level options that are socket attributes,
case SO_SNDBUF:
case SO_RCVBUF:
case SO_REUSEPORT:
case SO_SNDBUF:
case SO_RCVBUF:
case SO_REUSEPORT:
case SO_TYPE:
case SO_PROTOCOL:
case SO_DOMAIN:
case SO_TYPE:
case SO_PROTOCOL:
case SO_DOMAIN: