hellt / vrnetlab

Make VM-based Network OSes run in Containerlab
https://containerlab.dev
MIT License
129 stars 88 forks source link

Add Cisco vIOS support #249

Closed jaro0149 closed 1 month ago

jaro0149 commented 2 months ago
hellt commented 1 month ago

Thanks @jaro0149 I pushed a little change to have a simple version pattern (hate sed for complex regexps). The rest I haven't touched.

@kaelemc is it something you would be interested in trying before the merge?

kaelemc commented 1 month ago

@hellt tested and it works great, did a basic test between two nodes and got an OSPF adjacency up.

By default the images in CML are formatted as vios-adventerprisek9-m.spa.159-3.m3.qcow2. Using the change to the version matching it means users have to rename the image. If we used the one that @jaro0149 originally committed I would make one change to match on [spa|SPA] as some images have spa in lowercase and some in uppercase.

I think it should also be it's own kind in containerlab instead of using the linux kind. That way we can also get the nice interface aliases instead of using ethX.

Nice work @jaro0149.

hellt commented 1 month ago

I deliberately changed the version to be man-made. It was often a problem to match the versions when a vendor changes its naming schema. It is all easier to ask a human to rename the qcow to a well known pattern, rather than expect them to get an image that we can parse.

Thanks for your review, I agree it might make sense to have a kind in clab to make the interface aliasing to work. This though can be merged it seems, and I will proceed with merging.

@jaro0149 thanks for your contribution!