Commit c241f063 authored by Denis Filatov's avatar Denis Filatov
Browse files

lua interface

parent f7297aaf
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
@@ -9,8 +9,8 @@ include $(TOPDIR)/rules.mk

PKG_NAME:=its_bridge
PKG_REFV:=2
PKG_VERSION:=0.0.1
PKG_RELEASE:=1
PKG_VERSION:=0.1.2
PKG_RELEASE:=3

include $(INCLUDE_DIR)/package.mk

@@ -18,7 +18,7 @@ define Package/its_bridge
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=ITS bridge clients and server
  DEPENDS:=+libpcap +libmicrohttpd
  DEPENDS:=+libpcap +libmicrohttpd +libuci
endef

define Build/Prepare
@@ -30,18 +30,24 @@ define Build/Configure
endef

#TARGET_CFLAGS += -ggdb3
MAKE_FLAGS += CFLAGS="$(TARGET_CFLAGS) -Wall -I include"
MAKE_FLAGS += CFLAGS="$(TARGET_CFLAGS) -Wall -I include -DUSE_UCI" LDFLAGS="-luci"

define Package/its_bridge/install
	$(INSTALL_DIR) $(1)/usr/bin/
	$(INSTALL_DIR) $(1)/etc/
	$(INSTALL_DIR) $(1)/etc/its_bridge/certs
	$(CP) $(PKG_BUILD_DIR)/{its_bridge_client,its_bridge_server,its_web_server_config} $(1)/usr/bin
	$(CP) -r ./etc/openwrt/* $(1)/etc/
	$(CP) ./certs/* $(1)/etc/its_bridge/certs


	$(CP) $(PKG_BUILD_DIR)/{its_bridge_client,its_bridge_server} $(1)/usr/bin
	$(CP) -r ./resources/openwrt/* $(1)/
endef

define Package/its_bridge/preinst
#!/bin/sh
uci set ucitrack.@its_bridge[0].init='its_bridge'
exit 0
endef
define Package/its_bridge/prerm
#!/bin/sh
uci del ucitrack.@its_bridge[0]
exit 0
endef
$(eval $(call BuildPackage,its_bridge))
+5 −4
Original line number Diff line number Diff line
config general 'nic'
    option its 'eth0.1'
    option udp 'eth0.2'
config service 'its'
    option nic 'eth0.1'
    option mac '000000000000'

config service 'udp'
    option nic 'eth0.2'
    option port '5000'
    option send '239.0.102.102'
    list group '239.0.101.101'
    list recv '239.0.101.101'
+26 −5
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ SERVICE_USE_PID=1
START=90
STOP=10

. $IPKG_INSTROOT/lib/functions.sh

open_its_port() {
    port=`uci get its_bridge.udp.port`
    [ -z "$port" ] && port=5000
@@ -26,17 +28,36 @@ open_its_port() {
    fi
}


start() {
    mkdir -m 0755 -p /var/log/its_bridge
    local udp_nic
    local its_nic
    local mac_send
    local udp_recv
    local udp_port

    function on_udp_foreach () {
        [ -z "$udp_recv" ] && udp_recv="$1" || udp_recv="$udp_recv;$1"
    }

    config_load its_bridge
    config_get its_nic its nic eth1
    config_get mac_address its mac 000000000000
    config_get udp_nic udp nic eth0
    config_get udp_send udp send
    config_get udp_port udp port
    config_list_foreach udp recv on_udp_foreach

    # open port
    mkdir -m 0755 -p /var/log/its_bridge
    open_its_port
    service_start /usr/bin/its_bridge_client -c /etc/its_bridge/client.conf >> /var/log/its_bridge/client.log 2>&1
    service_start /usr/bin/its_bridge_server -c /etc/its_bridge/server.conf >> /var/log/its_bridge/server.log 2>&1
    service_start /usr/bin/its_web_server_config -c /etc/its_bridge/webserver.conf >> /var/log/its_bridge/web.log 2>&1
    service_start /usr/bin/its_bridge_client -d -a multicast -i "$udp_nic" -m "$mac_address" -n "$its_nic" -p "$udp_port" -u "$udp_send" >> /var/log/its_bridge/client.log 2>&1
    service_start /usr/bin/its_bridge_server -d -a multicast -i "$udp_nic" -m "$mac_address" -n "$its_nic" -p "$udp_port" -u "$udp_recv" >> /var/log/its_bridge/server.log 2>&1
#    echo /usr/bin/its_bridge_client -d -a multicast -i "$udp_nic" -m "$mac_address" -n "$its_nic" -p "$udp_port" -u "$udp_send"
#    echo /usr/bin/its_bridge_server -d -a multicast -i "$udp_nic" -m "$mac_address" -n "$its_nic" -p "$udp_port" -u "$udp_recv"
}

stop() {
    service_stop /usr/bin/its_bridge_client
    service_stop /usr/bin/its_bridge_server
    service_stop /usr/bin/its_web_server_config
}
+0 −9
Original line number Diff line number Diff line
# client.conf sample
daemon_mode=1
mac_address=080027d6c900
its_nic=eth0.1

udp_nic=eth0.2
udp_address=239.0.102.102
udp_protocol=multicast
udp_port=5000
+0 −9
Original line number Diff line number Diff line
# server.conf sample
daemon_mode=1
mac_address=f8cab8083918
its_nic=eth0.1

udp_nic=eth0.2
udp_address=239.0.101.101
udp_protocol=multicast
udp_port=5000
Loading