Comments (4)
Hi @hardillb,
I just tried using your topology and faucet.yaml outside of CORE to see if I could replicate the problem.
Happy to report everything worked out okay for me, so worst case I can share my environment with you to get you up and running.
My first stab at guessing why this doesn't work, are you running faucet as root? Because of this faucet bug: faucetsdn/faucet#2854 we currently only support faucet/chewie when run as root. Something we hope to change in the future.
from chewie.
Hi, thanks for the rapid response.
Yeah, it's all running as root, that is the default for CORE's network namespaced runtimes. Since it's all just network namespaces it should basically be the same as docker.
I can see in the trace that it's adding the new radius packet to the queue in the statemachine, it's just not taking them off the queue to send out to the radius server as far as I can tell.
It's after 23:00 here, but I'll grab some proper trace in the morning and post it.
from chewie.
Okay and if you want to try my environment out to compare, here are the commands I ran in a fairly vanilla ubuntu VM to create a set of network namespaces to simulate the hosts.
Get create_ns and as_ns shell fragments from the faucet tutorial: https://docs.faucet.nz/en/latest/tutorials/acls.html#prerequisites
$ create_ns n2 10.0.0.1/24
$ create_ns n3 10.0.0.2/24
$ create_ns n4 10.0.0.3/24
$ create_ns n5 10.0.0.4/24
$ sudo ip link add tap0 type veth peer name tap1
$ sudo ip link set tap0 up
$ sudo ip link set tap1 up
$ sudo ovs-vsctl add-br br0 -- set bridge br0 other-config:datapath-id=0000000000000001 \
-- set bridge br0 other-config:disable-in-band=true \
-- set bridge br0 fail_mode=secure \
-- add-port br0 veth-n2 -- set interface veth-n2 ofport_request=1 \
-- add-port br0 veth-n3 -- set interface veth-n3 ofport_request=2 \
-- add-port br0 veth-n4 -- set interface veth-n4 ofport_request=3 \
-- add-port br0 veth-n5 -- set interface veth-n5 ofport_request=4 \
-- add-port br0 tap1 -- set interface tap1 ofport_request=6 \
-- set-controller br0 tcp:127.0.0.1:6653 tcp:127.0.0.1:6654
I then got the freeradius and wpa_supplicant test configs we ship with chewie: https://github.com/faucetsdn/chewie/tree/master/etc
I started freeradius on the host outside the network namespaces, and then started wpa_supplicant on n2:
$ as_ns n2 wpa_supplicant -dd -c/tmp/wpasupplicant/wired-md5.conf -iveth0 -Dwired
Anyway, talk more tomorrow. I'm in UTC+12.
from chewie.
hmm, your setup does seem to work (well at least packets are making it to the radius server at least, which is currently setup for a PPPoE authentication).
Which is odd because CORE is basically just a GUI doing the same thing with the namespace stuff.
I'll keep playing
from chewie.
Related Issues (20)
- Add Checks and logging for Chewie Socket Setup HOT 3
- Go through TODO's and Clean up Code
- Add Pylintrc to Ignore Generated Libraries (such as Eventlet.green) HOT 2
- Shard Tests for Travis HOT 1
- Move Pre-emptive requests and reauthentication jobs out of Chewie
- Change set_port_status to be a Property
- Docker infrastructure is broken and packaging has some issues HOT 7
- Architect-out the circular dependencies in Chewie
- Remove Sleeps From UnitTests HOT 2
- MacAddress objects are not being provided in UnitTests
- Chewie uses PAE Group address as SA HOT 1
- Chewie mab only listens to dhcp discover packets HOT 1
- Action Required: Fix Renovate Configuration
- Fix pylint scores on files not being currently checked by pylint
- test_smoke_mab test flake
- test_logoff_dot1x test flake HOT 1
- Dependency Dashboard
- Windows 10 and windows server test case HOT 1
- User-Name in RADIUS message is arbitrary HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chewie.