Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chaining with Cilium CNI returns a nil interface #7

Open
mazzy89 opened this issue Jul 29, 2020 · 3 comments
Open

Chaining with Cilium CNI returns a nil interface #7

mazzy89 opened this issue Jul 29, 2020 · 3 comments

Comments

@mazzy89
Copy link

mazzy89 commented Jul 29, 2020

This is my CNI conf

{
  "name": "cilium",
  "cniVersion": "0.3.1",
  "plugins": [
    {
      "type": "cilium-cni",
      "enable-debug": false
    },
    {
      "type": "tc-redirect-tap"
    }
  ]
}

Cilium here handles the IPAM.

I cannot run Firecracker because I get the error:

expected to find 1 IP on redirect interface "eth0", but instead found []

I bit of debug of the plugin and I get this result into the tc-redirect-tap func here

func InterfaceIPs(result *current.Result, ifaceName string, sandbox string) []*current.IPConfig {

CNI Result: Interfaces:[{Name:eth0 Mac:c6:28:3f:e7:71:34 Sandbox:/var/run/netns/05673121-d177-11ea-b4db-005056848dc3}], IP:[{Version:4 Interface:<nil> Address:{IP:10.14.199.37 Mask:ffffffff} Gateway:10.14.24.19}], Routes:[{Dst:{IP:10.14.24.19 Mask:ffffffff} GW:<nil>} {Dst:{IP:0.0.0.0 Mask:00000000} GW:10.14.24.19}], DNS:{Nameservers:[] Domain: Search:[] Options:[]}

The function InterfaceIPs then cannot find any IPs because it checks under IP if the Interface is different than nil but in my case, it is nil, and then it fails.

Not sure if it is a bug of Cilium or we could move the check somewhere else.

@mazzy89 mazzy89 changed the title Chained with Cilium CNI returns a nil interface Chaining with Cilium CNI returns a nil interface Jul 29, 2020
@mazzy89
Copy link
Author

mazzy89 commented Jul 29, 2020

I've talked with Cilium guys and they confirmed that the Interface is not there and I should add there. So going to wire a PR into Cilium to tackle this down.

@mazzy89
Copy link
Author

mazzy89 commented Jul 29, 2020

I've wired a PR on Cilium CNI to help with this https://github.com/cilium/cilium/pull/12706/files

@mazzy89
Copy link
Author

mazzy89 commented Jul 31, 2020

The PR has been merged. I'll test it once again when a new release will be crafted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant