-
Notifications
You must be signed in to change notification settings - Fork 4
solenoid.config File
In the Solenoid/solenoid/tests/examples/config
directory there are examples of both good and bad config files, for both gRPC and RESTconf implementations.
I am running exaBGP in a container on the IOS-XR, what should be my IP address when using gRPC?
Your IP should be the IP address of your router. See the detailed example at the bottom of this page for an example.
I am running exaBGP in a container on the IOS-XR, what should be my IP address when using RESTconf?
Your IP should be the loopback address in use for your container. This defaults to the first loopback set on your IOS-XR. To check your loopback is properly configured, run ip route
in the linux bash of your IOS-XR. You should see an output similar to this:
10.0.2.0/24 dev Mg0_RP0_CPU0_0 proto kernel scope link src 10.0.2.15
10.1.1.5 dev fwd_ew scope link src 10.0.2.15
In this scenario, 10.1.1.5 is the loopback I am using, and thus the IP address I use in the config file.
What are my transport options?
Currently there are two transport options available: gRPC and RESTconf.
RESTconf is not available in the public IOS-XR images. If you are interested in testing RESTconf, contact me, [email protected], and I will work with you to provide an image with RESTconf.
I cannot get RESTconf to work on my IOS-XRv image!
See above, you are probably on a public IOS-XR box.
How do I configure gRPC?
Set your router's configuration to the following (you can choose the port number):
grpc
port 57777
With just that, gRPC should be up and running.
I am getting a connection refused/abortion error from the gRPC server.
Check that your gRPC server is running, and that you are able to communicate to the port you have set. Turning gRPC off and then on again may help (the usual IT answer). If you continue to have problems, please open an Issue.
What should my port be?
Depends if you are using gRPC or RESTconf:
gRPC - whatever port your have configured, in the example above it is 57777.
RESTconf - HTTP calls always go to port 80, so set your port to 80.
Router type: IOS-XRv
Version: 6.1.1.2
Username: vagrant
Password: vagrant
Running config:
!
telnet vrf default ipv4 server max-servers 10
username vagrant
group root-lr
group cisco-support
secret 5 $1$b0X8$ITHTM5zGiA.PrFuws0eBm/
!
tpa
address-family ipv4
update-source MgmtEth0/RP0/CPU0/0
!
!
interface Loopback1
ipv4 address 10.1.1.5 255.255.255.255
!
interface MgmtEth0/RP0/CPU0/0
ipv4 address dhcp
!
interface GigabitEthernet0/0/0/0
ipv4 address 192.168.1.2 255.255.255.0
!
router static
address-family ipv4 unicast
0.0.0.0/0 10.0.2.2
1.1.1.0/24 192.168.1.3
2.2.2.0/24 192.168.1.3
!
!
ssh server v2
ssh server vrf default
grpc
port 57777
!
end
Configuration File
Where is the file?
Sitting on the LXC, in the Solenoid directory, named "solenoid.config".
cisco@LXC_NAME:~/Solenoid$ pwd
/home/cisco/Solenoid
File contents:
[IOS-XRv]
transport: gRPC
ip: 192.168.1.2
port: 57777
username: vagrant
password: vagrant