title: How to Debug 'ip link add vrf-blue type vrf table 10' RTNETLINK answers: Operation not supported
body: <p>I am trying to enable vrf in Linux kernel 4.9.135 version and have enabled <code>IP_MULTIPLE_TABLES</code>, <code>NET_L3_MASTER_DEV</code> and <code>NET_VRF</code> in kernel and build the kernel. </p>
  
  <pre><code>bash-4.3# zgrep "CONFIG_NET_VRF" /proc/config.gz
  
    CONFIG_NET_VRF=m
  
  bash-4.3# zgrep "IP_MULTIPLE_TABLES" /proc/config.gz
  
    CONFIG_IP_MULTIPLE_TABLES=y
  
  bash-4.3# zgrep "NET_L3_MASTER_DEV" /proc/config.gz
  
    CONFIG_NET_L3_MASTER_DEV=y
  </code></pre>
  
  <p>I am using iproute2 version iproute2-4.9.0-r0.0.x86_64.rpm also which supports vrf.</p>
  
  <p>But when I am trying to instantiate a VRF device and associate it with a table, I am getting RTNETLINK answers: operation not supported.</p>
  
  <p>I checked through the strace and see RTNETLINK messages:</p>
  
  <pre><code>sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"H\0\0\0\20\0\5\6(\20\271\\\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 72}], msg_controllen=0, msg_flags=0}, 0) = 72
  
  recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\\\0\0\0\2\0\0\0(\20\271\\\302i\0\0\241\377\377\377H\0\0\0\20\0\5\6(\20\271\\"..., 32768}], msg_controllen=0, msg_flags=0}, 0) = 92
  write(2, "RTNETLINK answers: Operation not"..., 43RTNETLINK answers: Operation not supported
  </code></pre>
  
  <p>How to debug/resolve this problem?</p>