SlideShare a Scribd company logo
NFD on OpenWrt Home
Router
Junxiao Shi, Hunter, Xinyu Ma
https://github.com/9th-ndn-hackathon/NFD-LuCI
Motivation
• OpenWrt: Linux for home routers
• 50 platforms: ARM, MIPS, etc
• 3500 packages via opkg package manager
• Having NDN on OpenWrt can allow NDN to reach a large
market.
• In the weeks leading to the hackathon:
• @yoursunny ported NFD and other NDN programs to
OpenWrt as opkg packages.
• However, they are command line only.
• Is it nice to have a web-based user interface?
Software Architecture
• from NDN platform
• from OpenWrt
• done last month
• accomplished this
weekend
NFDnfd-service
NFD config
for LuCI
NFD status
for LuCI
nfdcUCI
UCI Config
config cs 'cs'
option capacity '1024'
option policy 'priority_fifo'
config face_system 'face_system'
option udp_listen '1'
option tcp_listen '1'
option ether_mcast '1'
config strategy 'strategy_default'
option prefix '/'
option strategy 'self-learning'
UCI Config (continued)
config face
option remote 'udp://spurs.cs.ucla.edu'
list route '/ndn/edu/ucla'
list route '/ndn/guest'
config face
option remote 'udp://hobo.cs.arizona.edu'
list route '/ndn/edu/arizona'
Design Highlights
• UCI config, not nfd.conf
• UCI: Unified Configuration Interface of OpenWrt
• GUI can be generated with very little code
• nfd.conf is too verbose for home router use case
• Faces and routes go together
• Are you typing `nfdc face create` followed by `nfdc route
add` all the time?
NFD Config for LuCI (via UCI)
NFD Config for LuCI (continued)
• Web UI is generated with very little code.
1. Define the structure of UCI config.
2. LuCI's CBI module does the rest.
• When you save the config:
1. Config is saved into UCI.
2. procd detects new config.
3. procd restarts nfd-service (this step is not working).
4. nfd-service script generates nfd.conf and restarts NFD.
NFD Status for LuCI (via nfdc)
NDN Network Diagnostics (ndnping)
Future Work
• Create config page for ndn-autoconfig section.
• Add dynamic updates for face status page.
• Integrate ndn6-file-server in UCI and LuCI.
• Integrate ndncert client in LuCI.
• Publish as opkg package(s).

More Related Content

What's hot

RunC, Docker, RunC
RunC, Docker, RunCRunC, Docker, RunC
RunC, Docker, RunC
Patrick Viafore
 
Asynchronous Programming Introduction
Asynchronous Programming IntroductionAsynchronous Programming Introduction
Asynchronous Programming Introduction
Manjula Jonnalagadda
 
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
Deepak Shetty
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)
Stephen Gordon
 
OpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOSOpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOS
OpenNebula Project
 
OpenNebula - The Project
OpenNebula - The ProjectOpenNebula - The Project
OpenNebula - The Project
OpenNebula Project
 
Conair
ConairConair
OpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebula
OpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebulaOpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebula
OpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebula
OpenNebula Project
 
Introduction to oVirt
Introduction to oVirtIntroduction to oVirt
Introduction to oVirt
All Things Open
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula Project
 
Docker Machine and Swarm on OpenNebula - Jaime Melis
Docker Machine and Swarm on OpenNebula - Jaime MelisDocker Machine and Swarm on OpenNebula - Jaime Melis
Docker Machine and Swarm on OpenNebula - Jaime Melis
OpenNebula Project
 
Docker. General overview
Docker. General overviewDocker. General overview
Docker. General overview
Mirantis IT Russia
 
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshopOpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
OpenNebula Project
 
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
WG_ Events
 
OpenNebula 4.14 Hands-on Tutorial
OpenNebula 4.14 Hands-on TutorialOpenNebula 4.14 Hands-on Tutorial
OpenNebula 4.14 Hands-on Tutorial
OpenNebula Project
 
Cassandra 2.1 boot camp, Compaction
Cassandra 2.1 boot camp, CompactionCassandra 2.1 boot camp, Compaction
Cassandra 2.1 boot camp, Compaction
Joshua McKenzie
 
OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...
OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...
OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...
NETWAYS
 
Minio Cloud Storage
Minio Cloud StorageMinio Cloud Storage
Minio Cloud Storage
Minio
 
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebula Project
 
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebula Project
 

What's hot (20)

RunC, Docker, RunC
RunC, Docker, RunCRunC, Docker, RunC
RunC, Docker, RunC
 
Asynchronous Programming Introduction
Asynchronous Programming IntroductionAsynchronous Programming Introduction
Asynchronous Programming Introduction
 
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)
 
OpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOSOpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOS
 
OpenNebula - The Project
OpenNebula - The ProjectOpenNebula - The Project
OpenNebula - The Project
 
Conair
ConairConair
Conair
 
OpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebula
OpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebulaOpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebula
OpenNebulaconf2017US: Using docker with OpenNebula by Jaime Melis, OpenNebula
 
Introduction to oVirt
Introduction to oVirtIntroduction to oVirt
Introduction to oVirt
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
 
Docker Machine and Swarm on OpenNebula - Jaime Melis
Docker Machine and Swarm on OpenNebula - Jaime MelisDocker Machine and Swarm on OpenNebula - Jaime Melis
Docker Machine and Swarm on OpenNebula - Jaime Melis
 
Docker. General overview
Docker. General overviewDocker. General overview
Docker. General overview
 
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshopOpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
 
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
 
OpenNebula 4.14 Hands-on Tutorial
OpenNebula 4.14 Hands-on TutorialOpenNebula 4.14 Hands-on Tutorial
OpenNebula 4.14 Hands-on Tutorial
 
Cassandra 2.1 boot camp, Compaction
Cassandra 2.1 boot camp, CompactionCassandra 2.1 boot camp, Compaction
Cassandra 2.1 boot camp, Compaction
 
OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...
OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...
OpenNebula Conf 2014 | Lightning talk: Proactive Autonomic Management Feature...
 
Minio Cloud Storage
Minio Cloud StorageMinio Cloud Storage
Minio Cloud Storage
 
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
 
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
 

Similar to NFD LuCI

Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zun
heut2008
 
How to deal second interface service discovery and load balancer in kubernetes
How to deal second interface  service discovery and load balancer  in kubernetesHow to deal second interface  service discovery and load balancer  in kubernetes
How to deal second interface service discovery and load balancer in kubernetes
Meng-Ze Lee
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
Akihiro Suda
 
Introduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer TrainingIntroduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer Training
Veda Solutions - Embedded Systems & Linux Device Drivers Training
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on Linux
Netwalker lab kapper
 
Андрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботомАндрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботом
CocoaHeads
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
Opersys inc.
 
Linux on Hyper-V
Linux on Hyper-VLinux on Hyper-V
Linux on Hyper-V
Tudor Damian
 
1212312232
12123122321212312232
1212312232
maclean liu
 
Rasperry Pi and TI CC2650 IPv6 border router
Rasperry Pi and TI CC2650 IPv6 border routerRasperry Pi and TI CC2650 IPv6 border router
Rasperry Pi and TI CC2650 IPv6 border router
Nikolaos Monios
 
OpenWrt From Top to Bottom
OpenWrt From Top to BottomOpenWrt From Top to Bottom
OpenWrt From Top to Bottom
Kernel TLV
 
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with DockerMeetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
Nuxeo
 
Firebird on Linux
Firebird on LinuxFirebird on Linux
Firebird on Linux
Mind The Firebird
 
Informix Expedition Through Connectivity
Informix Expedition Through ConnectivityInformix Expedition Through Connectivity
Informix Expedition Through Connectivity
Kevin Smith
 
Deep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdfDeep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdf
ShubhamChaurasia88
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
Opersys inc.
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
Opersys inc.
 
Making Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDKMaking Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDK
Michelle Holley
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
Opersys inc.
 
AFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and NetfilterAFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and Netfilter
jvehent
 

Similar to NFD LuCI (20)

Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zun
 
How to deal second interface service discovery and load balancer in kubernetes
How to deal second interface  service discovery and load balancer  in kubernetesHow to deal second interface  service discovery and load balancer  in kubernetes
How to deal second interface service discovery and load balancer in kubernetes
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
Introduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer TrainingIntroduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer Training
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on Linux
 
Андрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботомАндрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботом
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 
Linux on Hyper-V
Linux on Hyper-VLinux on Hyper-V
Linux on Hyper-V
 
1212312232
12123122321212312232
1212312232
 
Rasperry Pi and TI CC2650 IPv6 border router
Rasperry Pi and TI CC2650 IPv6 border routerRasperry Pi and TI CC2650 IPv6 border router
Rasperry Pi and TI CC2650 IPv6 border router
 
OpenWrt From Top to Bottom
OpenWrt From Top to BottomOpenWrt From Top to Bottom
OpenWrt From Top to Bottom
 
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with DockerMeetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
 
Firebird on Linux
Firebird on LinuxFirebird on Linux
Firebird on Linux
 
Informix Expedition Through Connectivity
Informix Expedition Through ConnectivityInformix Expedition Through Connectivity
Informix Expedition Through Connectivity
 
Deep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdfDeep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdf
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Making Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDKMaking Networking Apps Scream on Windows with DPDK
Making Networking Apps Scream on Windows with DPDK
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 
AFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and NetfilterAFW: Dynamic Firewalls with Chef and Netfilter
AFW: Dynamic Firewalls with Chef and Netfilter
 

More from Shi Junxiao

Ride On Today
Ride On TodayRide On Today
Ride On Today
Shi Junxiao
 
Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?
Shi Junxiao
 
PowerTrade SurgeGuard
PowerTrade SurgeGuardPowerTrade SurgeGuard
PowerTrade SurgeGuard
Shi Junxiao
 
NFD InterestDigest
NFD InterestDigestNFD InterestDigest
NFD InterestDigest
Shi Junxiao
 
ICN Publish/Subscribe Networking
ICN Publish/Subscribe NetworkingICN Publish/Subscribe Networking
ICN Publish/Subscribe Networking
Shi Junxiao
 
Age-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric NetworksAge-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric Networks
Shi Junxiao
 
Shaanxi Henan
Shaanxi HenanShaanxi Henan
Shaanxi Henan
Shi Junxiao
 
Xinjiang
XinjiangXinjiang
Xinjiang
Shi Junxiao
 
pcap-map
pcap-mappcap-map
pcap-map
Shi Junxiao
 
Yuanxiao
YuanxiaoYuanxiao
Yuanxiao
Shi Junxiao
 
Faster Content Distribution with Content Addressable NDN Repository
Faster Content Distribution with Content Addressable NDN RepositoryFaster Content Distribution with Content Addressable NDN Repository
Faster Content Distribution with Content Addressable NDN Repository
Shi Junxiao
 
ISA meeting 20131031
ISA meeting 20131031ISA meeting 20131031
ISA meeting 20131031
Shi Junxiao
 
Network Redundancy Elimination
Network Redundancy EliminationNetwork Redundancy Elimination
Network Redundancy Elimination
Shi Junxiao
 
Content Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointContent Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpoint
Shi Junxiao
 
ISA meeting 20131004
ISA meeting 20131004ISA meeting 20131004
ISA meeting 20131004
Shi Junxiao
 
Content Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposalContent Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposal
Shi Junxiao
 
Information Centric Networking and Content Addressability
Information Centric Networking and Content AddressabilityInformation Centric Networking and Content Addressability
Information Centric Networking and Content Addressability
Shi Junxiao
 
VIỆT NAM, The hidden charm
VIỆT NAM, The hidden charmVIỆT NAM, The hidden charm
VIỆT NAM, The hidden charm
Shi Junxiao
 
Mexico
MexicoMexico
Mexico
Shi Junxiao
 
Hawaii
HawaiiHawaii
Hawaii
Shi Junxiao
 

More from Shi Junxiao (20)

Ride On Today
Ride On TodayRide On Today
Ride On Today
 
Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?Making Inter-domain Routing Power-Aware?
Making Inter-domain Routing Power-Aware?
 
PowerTrade SurgeGuard
PowerTrade SurgeGuardPowerTrade SurgeGuard
PowerTrade SurgeGuard
 
NFD InterestDigest
NFD InterestDigestNFD InterestDigest
NFD InterestDigest
 
ICN Publish/Subscribe Networking
ICN Publish/Subscribe NetworkingICN Publish/Subscribe Networking
ICN Publish/Subscribe Networking
 
Age-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric NetworksAge-based Cooperative Caching in Information-Centric Networks
Age-based Cooperative Caching in Information-Centric Networks
 
Shaanxi Henan
Shaanxi HenanShaanxi Henan
Shaanxi Henan
 
Xinjiang
XinjiangXinjiang
Xinjiang
 
pcap-map
pcap-mappcap-map
pcap-map
 
Yuanxiao
YuanxiaoYuanxiao
Yuanxiao
 
Faster Content Distribution with Content Addressable NDN Repository
Faster Content Distribution with Content Addressable NDN RepositoryFaster Content Distribution with Content Addressable NDN Repository
Faster Content Distribution with Content Addressable NDN Repository
 
ISA meeting 20131031
ISA meeting 20131031ISA meeting 20131031
ISA meeting 20131031
 
Network Redundancy Elimination
Network Redundancy EliminationNetwork Redundancy Elimination
Network Redundancy Elimination
 
Content Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpointContent Addressable NDN Repository - checkpoint
Content Addressable NDN Repository - checkpoint
 
ISA meeting 20131004
ISA meeting 20131004ISA meeting 20131004
ISA meeting 20131004
 
Content Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposalContent Addressable NDN Repository - proposal
Content Addressable NDN Repository - proposal
 
Information Centric Networking and Content Addressability
Information Centric Networking and Content AddressabilityInformation Centric Networking and Content Addressability
Information Centric Networking and Content Addressability
 
VIỆT NAM, The hidden charm
VIỆT NAM, The hidden charmVIỆT NAM, The hidden charm
VIỆT NAM, The hidden charm
 
Mexico
MexicoMexico
Mexico
 
Hawaii
HawaiiHawaii
Hawaii
 

Recently uploaded

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 

Recently uploaded (20)

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 

NFD LuCI

  • 1. NFD on OpenWrt Home Router Junxiao Shi, Hunter, Xinyu Ma https://github.com/9th-ndn-hackathon/NFD-LuCI
  • 2. Motivation • OpenWrt: Linux for home routers • 50 platforms: ARM, MIPS, etc • 3500 packages via opkg package manager • Having NDN on OpenWrt can allow NDN to reach a large market. • In the weeks leading to the hackathon: • @yoursunny ported NFD and other NDN programs to OpenWrt as opkg packages. • However, they are command line only. • Is it nice to have a web-based user interface?
  • 3. Software Architecture • from NDN platform • from OpenWrt • done last month • accomplished this weekend NFDnfd-service NFD config for LuCI NFD status for LuCI nfdcUCI
  • 4. UCI Config config cs 'cs' option capacity '1024' option policy 'priority_fifo' config face_system 'face_system' option udp_listen '1' option tcp_listen '1' option ether_mcast '1' config strategy 'strategy_default' option prefix '/' option strategy 'self-learning'
  • 5. UCI Config (continued) config face option remote 'udp://spurs.cs.ucla.edu' list route '/ndn/edu/ucla' list route '/ndn/guest' config face option remote 'udp://hobo.cs.arizona.edu' list route '/ndn/edu/arizona'
  • 6. Design Highlights • UCI config, not nfd.conf • UCI: Unified Configuration Interface of OpenWrt • GUI can be generated with very little code • nfd.conf is too verbose for home router use case • Faces and routes go together • Are you typing `nfdc face create` followed by `nfdc route add` all the time?
  • 7. NFD Config for LuCI (via UCI)
  • 8. NFD Config for LuCI (continued) • Web UI is generated with very little code. 1. Define the structure of UCI config. 2. LuCI's CBI module does the rest. • When you save the config: 1. Config is saved into UCI. 2. procd detects new config. 3. procd restarts nfd-service (this step is not working). 4. nfd-service script generates nfd.conf and restarts NFD.
  • 9. NFD Status for LuCI (via nfdc)
  • 11. Future Work • Create config page for ndn-autoconfig section. • Add dynamic updates for face status page. • Integrate ndn6-file-server in UCI and LuCI. • Integrate ndncert client in LuCI. • Publish as opkg package(s).